程序设计作业.docx
- 文档编号:29183521
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:8
- 大小:111.82KB
程序设计作业.docx
《程序设计作业.docx》由会员分享,可在线阅读,更多相关《程序设计作业.docx(8页珍藏版)》请在冰豆网上搜索。
程序设计作业
程序设计实验报告(第四次)
班级:
机自七班
姓名:
王学盛
学号:
20110401728
一、指针基础运算
(1)源程序代码:
#defineN5
#include
#include
intmain()
{
int*p,*q,a[N];
inti,tmp;
p=a;
q=(int*)malloc(N*sizeof(int));
printf("pleaseinputthefirstgroup:
");
for(i=0;i scanf("%d",p+i); printf("pleaseinputthesecendgroup: "); for(i=0;i scanf("%d",q+i); for(i=0;i if(*(p+i)>*(q+i)) { tmp=*(p+i);*(p+i)=*(q+i);*(q+i)=tmp; } printf("Result: \n"); for(i=0;i printf("%d",*(p+i)); printf("\n"); for(i=0;i printf("%d",*(q+i)); printf("%X%x%X\n",p,a,q); free(q); return0; } (2)运行结果。 二、数据交换 (1)源程序代码。 #include voidswap1(intx,inty); voidswap2(int*x,int*p); intmain() { inta,b; printf("PleaseInputa=: "); scanf("%d",&a); printf("\nb=: "); scanf("%d",&b); swap1(a,b); printf("\naftercallswap1: a=%db=%d\n",a,b); swap2(&a,&b); printf("\naftercallswap2: a=%db=%d\n",a,b); return0; } voidswap1(intx,inty) { inttemp,a,b; temp=x; a=y; b=temp; } voidswap2(int*x,int*y) { inttemp; temp=*x;*x=*y;*y=temp; } (2)运行结果。 三.字符串反转连接. 1.程序代码. #include char*reverse(char*str); char*link(char*str1,char*str2); intmain() { charstr[50],str1[50],str2[50]; printf("pleaseinputreversingcharacterstring: "); gets(str); str[50]=*reverse(str); printf("\npleaseoutputreversingcharacterstring: "); puts(str); printf("\npleaseinputstring1: "); gets(str1); printf("\npleaseinputstring2: "); gets(str2); str1[50]=*link(str1,str2); puts(str1); return0; } char*reverse(char*str) { char*p,*q,temp; p=str;q=str; while(*q! ='\0') { q++; } q--; while(p { temp=*p;*p=*q;*q=temp; p++;q--; } returnstr; } char*link(char*str1,char*str2) { char*p=str1; while(*p! ='\0') { ++p; } p=str2; returnstr1; } 3.运行结果. 3.结果说明. 反转能正常运行,但连接有误。 四.数组元素奇偶排列. 1.程序代码. #include #defineN10 voidarrsort(inta[],intn); intmain() { inta[N],i; printf("pleaseinputthenum: "); for(i=0;i { scanf("%d",&a[i]); } arrsort(a,N); for(i=0;i printf("%d",a[i]); printf("\n"); } voidarrsort(inta[],intn) { int*p,*q,temp; p=a; q=a+n-1; if(p { if(*q%2==0) q--; if(*p%2==1) p++; if(p { temp=*p; *p=*q; *q=temp; } p++;q--; } } 2.运行结果. 3.结果说明. 当输入数组是5182324261113504317时输出结果如图所示。 五.实验小结. 我发现自己对指针的概念还不是很清楚,运用起来有点吃力! 而且输入较慢,有些语句不太理解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)