当前位置:学者斋 >

计算机 >C语言 >

计算机二级C语言强化习题题及答案2017

计算机二级C语言强化习题题及答案2017

练习做多了自然会形成自己的做题方法和速度,为此,今天本站小编为大家整理了以下2017计算机二级C语言强化习题题及答案,希望对你的学习有帮助!

计算机二级C语言强化习题题及答案2017

  强化习题题一

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

b[j]=0;

for(i=0;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;}

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

答案:

int fun (char *s)

{int i,n=0;

for(i=0;i

{if(s=‘a’&s<=‘z’&s[i+1]==‘’

‖s[i+1]==‘’)

n++;}

return n;}

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

答案:

int fun(int n)

{int s=0,i;

for(i=2;i<=n-1;i++)

if(n%i==0)

s+=i;

return s;}

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

答案:

void fun(char *s,char t[])

{int i,j=0,n;

n=strlen(s);

for(i=0;i

if(s%2==0)

{t[j]=s;

j++;}

t[j]=‘’;}

5: 第5题请编写函数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;}

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

答案:

void fun(char *a)

{int i=0;char *p=a;

while(*p)

{if(*p!=‘*’)

{a=*p;

i++;}

p++;}

a=‘’;}

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

答案:

strec fun(strec*,char *b)

{int i;

strec h;

for(i=0;i

if(strcmp(,b)==0)

{h=a;

break; }

else

{=="";

h.s=-1;}

return h;}

8: 第8题请编写函数fun,其功能时:计算并输出下列多项式的值:

sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n!

答案:

sn=1+1/1!+1/2!+1/3!+1/4!+...+1/n!

double fun(int n)

{double t,sn=1.0;

int i,j;

for(i=1;i

{t=1.0;

for(j=1;j<=i;j++)

t*j;

sn+=1.0/t;}

return sn;}

9: 第9题请编写一个函数fun,它的功能时:求fibonacci数列中大于t的最小的一个数,结果由函数返回。其中fibonacci数列f(n)的定义为:

f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)

答案:

f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)

int fun(int t)

{int a=1,b=1,c=0,i;

for(i=4;i<=t;i++)

{if(c

{c=a+b;

a=b;

b=c;}

else

break;}

return c;}

10: 第10题编写函数fun,它的功能时:计算并输出下列级数和:

s=1/1*2+1/2*3+…+1/n(n+1)

答案:

double fun (int n)

{double s=0.0;

int i;

for(i=1;i<=n;i++)

s=s+1.0/(i*(i+1));

return s;}

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/cyuyan/l15wz.html