int fun(int a[][N]) { int I,j; for(i=0;i<N;i++) for(j=0;j<=I;j++) a[i][j]=0; } ,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。 答案: void fun(char *s,int num) { char t; int I,j; for(i=1;i<num-2;i++) for(j=i+1;j<num-1;j++),其功能是:将s所指字符串中除了下标为偶数、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。 答案: void fun(char *s,char t[]) { int I,j=0,n; n=strlen(s); for(i=0;I,n;i++) if(i%2==0&&s[i]%2==0) { t[j]=s[i]; j++; } t[j]=‘\0’; } 4. 请编写函数fun,该函数的功能是:将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 答案: void fun(char (*s)[n],char *b) {int i,j,k=0; for(j=0;j<n;j++) for(i=0;i<m;i++) {b[k]=*(*(s+i)+j) k++;} b[k]=‘\0’;} 5. 请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指的数组中,非素数的个数通过k传回。 答案: void fun(int m,int *k,int xx[]) {int i,j; int n=0; for(i=4;i<m;i++) {for(j=2;j<i;j++)if(i%j==0)break;if(j<i)xx[n++]=i; *k=n;}}6. 第请编写函数fun,该函数的功能使:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁的人数放在d[2]中,其余以此类推,把100岁(含100以上年龄的人数都放在d[10]中。结果在主函数中输出。 答案: void fun(int *a,int *b) {int i,j; for(j=0;i<m;j++) b[j]=0; for(i=0;i<n;i++) if(a>=0&a<=9) b[0]+=1; else if(a>=10&a<=19) b[1]+=1; else if(a>=20&a<=29) b[2]+=1; else if(a>=30&a<=39) b[3]+=1; else if(a>=40&a<=49) b[4]+=1; else if(a>=50&a<=59) b[5]+=1; else if(a>=60&a<=69) b[6]+=1; else if(a>=70&a<=79) b[7]+=1; else if(a>=80&a<=89) b[8]+=1; else if(a>=90&a<=99) b[9]+=1; else b[10]+=1;} 7. 请编写函数fun,其功能时:将两个两位数的正整数a、b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b的十位和个位整数依次放在c数的百位和个位上。 答案: void fun(int a,int b,long *c) {*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;} 8. 请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。 答案: void fun(int a,int b,long *c) {*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;} 9. 请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。 答案: void fun(int a, int b, long *c) { *c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10; } ,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。答案: int fun(int score[])in
计算机二级考试C语言操作题题库 来自淘豆网www.taodocs.com转载请标明出处.