《c语言题库(11).docx》由会员分享,可在线阅读,更多相关《c语言题库(11).docx(4页珍藏版)》请在第壹文秘上搜索。
1、1:第1题请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入XX所指的数组中,非素数的个数通过k传回。答案:voidfun(intm,int*k,intxx)tinti,j;intt=0;for(i=2;im;i+)j=2;while(ji)if(i%j=O)xxt=i;t+;break;j+;)2:第2题编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数StrCat),即把P2所指的字符串连接到pl所指的字符串后。答案:voidfun(charpl,charp2)inti=0,n=0;char*p=pl,*q=p2;while(*p)p+;n+;i=n;while
2、(*p)pl=*q;q+;i+;Pl=t0f;3:第3题请编写函数fun,该函数的功能是:实现b=a+a,即把矩阵a加上a的转置,存放在矩阵b中。计算结果在main函数中输出。答案:voidfun(inta33,intb33)inti,j,at33;for(i=0;i=2;i+)for(j=0;j=2;j+)atj=aj;for(i=0;i3;i+)for(j=0;j3;j+)bj=aj+atj;)4:第4题学生的记录由学号和成绩组称个,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均
3、分通过函数值返回。答案:doublefun(strec*a,strec*b,int*n)doubleaver=0.0;inti,j=0;*n=0;for(i=0;in;i+)aver+=a.s;aver=n;for(i=0;in;i+)if(a.saver)bj=a;(*n)+;j+;returnaver;5:第5题请编写函数fun,该函数的功能是:将m行n列的二维数组中的数据,按行的顺序依次放到维数组中,一维数组中数据的个数存放在形参n所指的储存单元中。答案:voidfun(int(*s)10,int*b,int*n,intmm,intnn)inti,j;for(i=0;im;i+)for(
4、j=0;jnn;j+)b*n=*(*(s+i)+j);*n=*n+l;6:第6题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字母串中其他*号全部删除。形参P己指向字符串中最后的一个字母。不使用C的字符串函数。答案:voidfun(char*a,char*p)inti=0;char*p=a;while(q=p)if(*q!=t*f)a=*q;i+;q+;while(*q)a=*q;i+;q+;la=i0f;)7:第7题学生的记录是由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在
5、b所指的数组中,分数范围内的学生人数由函数值返回。答案:intfun(strec*a,strec*b,int1,inth)inti,j=0;for(i=0;i=lfta.s=h)bj=a;j+;returnj;8:第8题编写函数藏服那,它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。答案:doublefun(intn)doubles=0.0;inti;for(i=l;in;i+)if(i%3=0&i%7=0)s=s+i;s=sqrt(s);returns;9:第9题请别写函数fun,该函数的功能是:将放在字符串数组中的m个字符串(每串的长度不超过n),按顺序合并组成一个新的字符串。答案:voidfun(charamn,char*b)inti,j,k=0;for(i=0;im;i+)for(j=0;jn;j+)if(*(*(a+i)+j)bk=*(*(a+i)+j)k+;elsebreak;bk=i0,;)10:第10题请编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。答案:intfun(inta,intn)inti,t,j=0,*p=a;t=p0;for(i=0;i=n)aj=t;returnj;