文档详情

2016C语言习题全集及答案:指针03.doc

发布:2017-07-02约字共6页下载文档
文本预览下载声明
第七单元 指 针 填空题 在数组中同时查找最大元素下标和最小元素下标,分别存放在main函数的变量max 和min中。 #include stdio.h void find(int *a,int *max,int *min) { int i; *max=*min=0; for(i=1;in;i++) if(a[i]a[*max]) (1) ; else if(a[i]a[*min]) (2) ; return; } main() { int a[]={5,8,7,6,2,7,3}; int max,min; find( (3) ); printf(%d,%d\n,max,min); } 写一函数,实现两个字符串的比较。即自己写一个strcmp函数:compare(s1,s2)。 如果s1=s2,返回值为0,如果s1≠s2,返回它们二者第一个不同字符的ASCⅡ码差 值(BOY与BAD,第二个字母不同,O与A之差为79-65=14)。如果s1s2,则 输出正值,如s1s2,则输出负值。 compare(char *p1,char *p2) { int i; i=0; while( (1) ) if(*(p1+i++)==\0) (2) return( (3) ); } main() { int m; char str1[20],str2[20],*p1,*p2; printf(please input string by line:\n); scanf(%s,str1); scanf(%s,str2); p1= (4) p2= (5) m=compare(p1,p2); printf(the result is:%d\n,m); } 有一个班4个学生,5门课。(1)求第一门课的平均分;(2)找出有2门以上课程不及 格的学生,输出他们的学号和全部课程成绩和平均成绩;(3)找出平均成绩在90分 以上或全部课程成绩在85分以上的学生。分别编三个函数实现以上要求。 #includestdio.h main() { int i,j,*pnum,num[4]; float score[4][5],aver[4],*psco,*pave; char course[5][10],*pcou; pcou=course[0]; printf(please input the course name by line:\n); for (i=0;i5;i++) scanf(%s,pcou+10*i); printf(please input stu num and grade:\n); printf(stu num:\n); for(i=0;i5;i++) printf(%s,pcou+10*i); printf(\n); psco=score[0][0]; pnum=num[0]; for(i=0;i4;i++) { scanf(%d,pnum+i); for(j=0;j5;j++) scanf(%f,psco+5*i+j); } pave=aver[0]; avsco(psco,pave); avcour1(pcou,psco); fail2(pcou,pnum,psco,pave); printf(\n); good(pcou,pnum,psco,pave); } avsco(float *psco,float *pave) { int i,j; float sum,average; for(i=0;i4;i++) { sum=0; for(j=0;j5;j
显示全部
相似文档