收藏 分销(赏)

第7章--指针练习题答案-华中社《C语言程序设计上机指导与练习》.doc

上传人:w****g 文档编号:3158154 上传时间:2024-06-21 格式:DOC 页数:7 大小:50KB
下载 相关 举报
第7章--指针练习题答案-华中社《C语言程序设计上机指导与练习》.doc_第1页
第1页 / 共7页
第7章--指针练习题答案-华中社《C语言程序设计上机指导与练习》.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
第7章 指针 一、选择题 1. A 2. D 3. D 二、填空题 1. 指针 取地址 2. 3 3. 9876 876 4. 24 三、编程题 1. 参考程序如下。 main() { int a[3],i,j,t; printf("Please enter three number:\n") for(i=0;i<3;i++) scanf("%d",&a[i]); for(i=0;i<2;i++) for(j=0;j<2;j++) if(a[j]<a[j+1]) { t=a[j];a[j]=a[j+1];a[j+1]=t;} for(i=0;i<3;i++) printf("%d\n",a[i]); } 2. 参考程序如下。 int array[4][4]; convert(int array[4][4]) { int i,j,t; for (i=0;i<4;i++) for (j=i+1;j<4;j++) { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } } main( ) { int i,j; printf("Input array:\n"); for (i=0;i<4;i++) for(j=0;j<4;j++) scanf("%d",&array[i][j]); printf("\noriginal array :\n"); for (i=0;i<4;i++) { for (j=0;j<4;j++) printf("%5d",array[i][j]); printf("\n");} convert(array); printf("convert array:\n"); for (i=0;i<4;i++) { for(j=0;j<4;j++) printf("%5d",array[i][j]); printf("\n"); } } 3. 参考程序如下。 main() { int i, j , k, temper; int *p1, *p2, *p3; printf("Please input 3 integers:\n"); scanf("%d%d%d",&i, &j, &k); p1=&i; p2=&j; p3=&k; printf("before changed ,the 3 numbers are:\n"); printf("i=%d, j=%d,k=%d\n",i, j, k); temper=*p1;*p1=*p3;*p3=*p2; *p2=temper; printf("after changed ,the 3 numbers are:\n"); printf("i=%d, j=%d,k=%d\n",i, j, k); } 4. 参考程序如下。 #include<stdio.h> #include<string.h> char *s="1a2b3c4d"; void main() { int i,j; char t; for(i=0,j=strlen(s)-1;i<j;++i,--j) { t=s[i]; s[i]=s[j]; s[j]=t; } printf("%s\n",s); } 5. 参考程序如下。 int y_max(int *p,int n) { int max=*p,i,k=0; for(i=0;i<n;i++) /*这里判断到i<n,而不是i<=n*/ { if(max<*(p+i)) { k=i; max=*(p+i); /*记得要在这里更新一下max的记录*/ } } return k; } #define N 10 #include<stdio.h> int main() { int a[N]; int i,m,max; for(i=0;i<N;i++) scanf("%d",&a[i]); for(i=0;i<N;i++) printf("%d ",a[i]); m=y_max(a,N); printf("\nmax=a[%d]=%d",m,a[m]); return 0; } 6. 参考程序如下。 #include<stdio.h> #include<math.h> #include<string.h> #define N 80 int cnum=0,dnum=0; /*全局变量用于在两个函数之间传递数据*/ int main() { char ch[N]; void count(char c); int i,n; gets(ch); n=strlen(ch); for(i=0;i<N;i++) count(ch[i]); /*数组元素作为函数的实参*/ printf("%d,%d\n",cnum,dnum); } void count(char c) { if(c>='0'&&c<='9') dnum++; if((c>='A'&&c<='Z')||(c>='a'&&c<='z')) cnum++; return 0; } 7. 参考程序如下。 #include<stdio.h> int strcmp(char *s1,char *s2) { for(;*s1==*s2&&*s1&&*s2;s1++,s2++); /* 找不同的字符 */ return (*s1-*s2); } void main() { char a[10],b[10]; gets(a); gets(b); printf("%d\n",strcmp(a,b)); } 8. 参考程序如下。 #include <stdio.h> int main(void) { float a[10]; int i=0; double sum = 0.0; float avg = 0.0; for(i=0;i<10;i++) { printf("请输入第%d个同学的成绩:",i+1); scanf("%f",&a[i]); printf("\n"); sum+=a[i]; } avg = sum/10.0; printf("%f\n",avg); return 0; } 9. 参考程序如下。 #include <stdio.h> void aa(int *array) { int i; for(i=0;i<20;i++) scanf("%d,",&array[i]); } void bb(int *array) { int *max,*min,t; int *p; max=min=array; for(p=array;p<=array+19;p++) { if(*max<*p) max=p; if(*min>*p) min=p; } t=*max;*max=array[19];array[19]=t; t=*min;*min=array[0];array[0]=t; } void cc(int *array) { int *p; for(p=array;p<=array+19;p++) printf("%d,",*p); } void main() { int number[20]; aa(number); bb(number); cc(number); } 10. 运行结果如下: result=14
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服