好文档 - 专业文书写作范文服务资料分享网站

计算机二级C语言编程题库(100题)

天下 分享 时间: 加入收藏 我要投稿 点赞

{for(j=0;j<n;j++) if(*(*(a+i)+j)) {b[k]=*(*(a+i)+j) k++;} else break; b[k]=‘\\0’;}}

60: 第60题 请编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。

答案:

int fun(int a[],int n) {int i,t,j=0,*p=a; t=p[0];

for(i=0;i<=n;i++) if(t==p) ; else {a[j]=t; t=p; j++;} if(i>=n)

46 / 70

a[j]=t; return j;}

61: 第61题 第请编写函数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)

47 / 70

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;}

62: 第62题 请编写函数fun,该函数的功能是:统一一含字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。

答案: int fun (char *s) {int i,n=0;

for(i=0;i<strlen(s);i++) {if(s=‘a’&s<=‘z’&s[i+1]==‘’ ‖s[i+1]==‘\\0’)

48 / 70

n++;} return n;}

63: 第63题 请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与自身)之和。规定n的值不大

00。 答案: int fun(int n) {int s=0,i;

for(i=2;i<=n-1;i++) if(n%i==0) s+=i; return s;}

64: 第64题 请编写函数fun,其功能是:将s所指字符串中ascii值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

答案:

void fun(char *s,char t[]) {int i,j=0,n; n=strlen(s); for(i=0;i<n;i++) if(s%2==0) {t[j]=s; j++;}

49 / 70

t[j]=‘\\0’;}

65: 第65题 请编写函数fun,其功能是:将两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。

答案:

void fun(int a,int b,long *c)

{*c=(b)*1000+(a/10)*100+(b/10)*10+a;}

66: 第66题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有*号。在编写函数时,不得使用c语言提供的字符串函数。

答案: void fun(char *a) {int i=0;char *p=a; while(*p) {if(*p!=‘*’) {a=*p; i++;} p++;} a=‘\\0’;}

67: 第67题 学生的记录时由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数时strcmp)。

答案:

50 / 70

194v33z86r3j4le87moy0088t3x4ji00jer
领取福利

微信扫码领取福利

微信扫码分享