2016C语言习题全集及答案:指针03.doc
文本预览下载声明
第七单元 指 针
填空题
在数组中同时查找最大元素下标和最小元素下标,分别存放在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
显示全部