首页>计算机等级考试>模拟试题>正文
全国计算机等级考试C语言南开100题(七)附答案

www.zige365.com 2010-7-20 17:33:51 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

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)
a[j]=t;
return j;}



61:
61题 第请编写函数fun,该函数的功能使:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把09岁年龄段的人数放在d[0]中,把1019岁年龄段的人数放在d[1]中,把2029岁的人数放在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;}



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’)
n++;}
return n;}



63:
63题 请编写一个函数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;}



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++;}
t[j]=‘\0’;}



65:
65题 请编写函数fun,其功能是:将两位数的正整数ab合并成一个整数放在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)
答案:

strec fun(strec*,char *b)
{int i;
strec h;
for(i=0;i
n;i++)
if(strcmp(a.num,b)==0)
{h=a;
break; }
else
{h.num=="";
h.s=-1;}
return h;}



68:
68题 请编写函数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
n;i++)
{t=1.0;
for(j=1;j
=i;j++)
t*j;
sn+=1.0/t;}
return sn;}



69:
69题 请编写一个函数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
t)
{c=a+b;
a=b;
b=c;}
else
break;}
return c;}

我要投稿 新闻来源: 编辑: 作者:
相关新闻
全国计算机等级考试C语言南开100题(六)附答案
全国计算机等级考试C语言南开100题(五)附答案
全国计算机等级考试C语言南开100题(四)附答案
全国计算机等级考试C语言南开100题(三)附答案
全国计算机等级考试C语言南开100题(二)附答案