无纸化计算机二级C语言程序设计题库答案程序题.docx

上传人:b****7 文档编号:23516856 上传时间:2023-05-17 格式:DOCX 页数:52 大小:31.10KB
下载 相关 举报
无纸化计算机二级C语言程序设计题库答案程序题.docx_第1页
第1页 / 共52页
无纸化计算机二级C语言程序设计题库答案程序题.docx_第2页
第2页 / 共52页
无纸化计算机二级C语言程序设计题库答案程序题.docx_第3页
第3页 / 共52页
无纸化计算机二级C语言程序设计题库答案程序题.docx_第4页
第4页 / 共52页
无纸化计算机二级C语言程序设计题库答案程序题.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

无纸化计算机二级C语言程序设计题库答案程序题.docx

《无纸化计算机二级C语言程序设计题库答案程序题.docx》由会员分享,可在线阅读,更多相关《无纸化计算机二级C语言程序设计题库答案程序题.docx(52页珍藏版)》请在冰豆网上搜索。

无纸化计算机二级C语言程序设计题库答案程序题.docx

无纸化计算机二级C语言程序设计题库答案程序题

1.1.

(1)3.0或(double)3

(2)>(3)(t+1)

(1)doublefun(intn)

(2)s=s+(double)a/b;

1intfun(inta[][M])

{

inti,j,max=a[0][0];

for(i=0;i<2;i++)

for(j=0;j

if(max

max=a[i][j];

returnmax;

}

2.

(1)0  

(2)n  (3)(t*t)

(1)for(i=0;str[i];i++)

(2)if(substr[k+1]=='\0')

2doublefun(doubleeps)

{

doubles=1.0,s1=1.0;

intn=1;

while(s1>=eps)

{s1=s1*n/(2*n+1);

s=s+s1;

n++;

}

return2*s;

}

3.

(1)s[i]  

(2)'9'  (3)*t=n

(1)t=*x;*x=y;

(2)return(t);或returnt;

3voidfun(int*a,int*n)

{

inti,j=0;

for(i=1;i<=1000;i++)/*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/

if((i%7==0||i%11==0)&&i%77!

=0)

a[j++]=i;

*n=j;

}

4.

(1)1  

(2)j++  (3)j

(1)t=a;a=b;b=t;

(2)return(b);或returnb;

4voidfun(char*a)

{

inti,j=0;

for(i=0;a[i]!

='\0';i++)

if(a[i]!

='*')

a[j++]=a[i];/*若不是要删除的字符'*'则留下*/

a[j]='\0';

}

5.

(1)0  

(2)10*x(3)n/10

(1)*t=0;

(2)if(d%2!

=0)或if(d%2==1)

5voidfun(charp1[],charp2[])

{

inti,j;

for(i=0;p1[i]!

='\0';i++);

for(j=0;p2[j]!

='\0';j++)

p1[i++]=p2[j];

p1[i]='\0';

}

6.

(1)a[i]  

(2)a[j]  (3)a[j]

(1)去掉分号

(2)case1:

case2:

return1;

6voidfun(STREC*a)

{

inti;

a->ave=0.0;

for(i=0;i

a->ave=a->ave+a->s[i];/*求各门成绩的总和*/

a->ave/=N;/*求平均分*/

}

7.

(1)char 

(2)ch<='9' (3)'0'

(1)b[k]=*p;

(2)b[k]='';k++;

7doublefun(STREC*h)

{

doubleave=0.0;

STREC*p=h->next;

while(p!

=NULL)

{ave=ave+p->s;

p=p->next;

}

returnave/N;

}

8.

(1)M  

(2)<  (3)k

(1)if((tt[i]>='a')&&(tt[i]<='z'))

(2)tt[i]-=32;

8voidfun(intm,int*k,intxx[])

{

inti,j,n=0;

for(i=4;i

{for(j=2;j

if(i%j==0)break;

if(j

}

*k=n;/*返回非素数的个数*/

}

9.

(1)j++或j+=1或++j或j=j+1

(2)s[i]=t1[i](3)j

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

(2)*(pstr+i)=*(pstr+j)

9intfun(char*ss,charc)

{

inti=0;

for(;*ss!

='\0';ss++)

if(*ss==c)

i++;/*求出ss所指字符串中指定字符的个数*/

returni;

}

10.

(1)x  

(2)p  (3)s

(1)longk=1;

(2)num/=10;

10floatfun(float*a,intn)

{

inti;

floatav=0.0;

for(i=0;i

av=av+a[i];

return(av/n);/*返回平均值*/

}

11.

(1)1  

(2)i  (3)a[p+i]或*(a+p+i)

(1)floatk;

(2)if(*a<*c)

11intfun(STREC*a,STREC*b)

{

inti,j=0,max=a[0].s;

/*找出最大值*/

for(i=0;i

if(max

for(i=0;i

if(max==a[i].s)

b[j++]=a[i];/*找出成绩与max相等的学生的记录,存入结构体b中*/

returnj;/*返回最高成绩的学生人数*/

}

12.

(1)N  

(2)k  (3)ss[i]

(1)intk=0;

(2)while(*p||*q)

12voidfun(char*a)

{

inti=0;

char*p=a;

while(*p&&*p=='*')

{

a[i]=*p;

i++;

p++;

}

while(*p)

{

if(*p!

='*')

{a[i]=*p;i++;}

p++;

}

a[i]='\0';

}

13.

(1)1  

(2)s[k]或*(s+k)  (3)c

(1)longs=0,t=0;

(2)t=t/10;

13voidfun(char*tt,intpp[])

{

inti;

for(i=0;i<26;i++)

pp[i]=0;/*初始化pp数组各元素为0*/

for(;*tt!

='\0';tt++)

if(*tt>='a'&&*tt<='z')

pp[*tt-'a']++;

}

14.

(1)N  

(2)i  (3)-1

(1)a2=k/10;

(2)returni;

14voidfun(char*a)

{

while(*a!

='\0')

a++;

a--;/*指针a指向字符串的尾部*/

while(*a=='*')

a--;/*指针a指向最后一个字母*/

*(a+1)='\0';/*在字符串最后加上结束标志符*/

}

15.

(1)next  

(2)t->data  (3)t

(1)voidfun(char*a)

(2)printf("%c",*a);

15char*fun(char*s,char*t)

{

inti,j;

for(i=0;s[i]!

='\0';i++);/*求字符串的长度*/

for(j=0;t[j]!

='\0';j++);

if(i<=j)/*比较两个字符串的长度*/

returnt;/*函数返回较长的字符串,若两个字符串长度相等,则返回第1个字符串*/

else

returns;

}

16.

(1)n/2 

(2)i (3)a[n-i-1]或a[n-1-i]

(1)n=*p-'0';

(2)n=n*8+*p-'0';

16STRECfun(STREC*a,char*b)

{inti;

STRECstr={"\0",-1};/*若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1*/

for(i=0;i

if(strcmp(a[i].num,b)==0)/*找到指定学号的学生数据*/

str=a[i];

returnstr;/*返回学生记录*/

}

17.

(1)"r"  

(2)fs  (3)ft

(1)if(d%2==0)

(2)s/=10;

17voidfun(char*s,chart[])

{

inti,j=0;

for(i=0;s[i]!

='\0';i++)

if(i%2==0&&s[i]%2==0)/*将s所指字符串中下标和ASCII码值都为偶数的字符放入数组t中*/

t[j++]=s[i];

t[j]='\0';/*在字符串最后加上结束标识*/

}

18.

(1)i++  

(2)m  (3)m

(1)while((high>=2)&&(n<10))

(2)yes=0;break;

18doublefun()

{

doublex0,x1;

x1=0.0;

do

{

x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>=1e-6);

returnx1;

}

19.

(1)a  

(2)b.name  (3)score[i]

(1)s[j++]=s[i];或{s[j]=s[i];j++;}

(2)s[j]='\0';

(1)while((high>=2)&&(n<10))

(2)yes=0;break;

19voidfun(char*a)

{

inti=0,n=0;

char*p;

p=a;

while(*p=='*')/*判断*p是否是*号,并统计*号的个数*/

{

n++;p++;

}

while(*p)/*将前导*号后的字符传递给a*/

{

a[i]=*p;i++;p++;

}

while(n!

=0)

{

a[i]='*';i++;n--;

}

a[i]='\0';

}

20

(1)*fw  

(2)str  (3)str

(1)voidfun(longs,long*t)

(2)sl=sl*10;

20intfun(STREC*a,STREC*b)

{

inti,j=0,min=a[0].s;

for(i=0;i

if(min>a[i].s)

min=a[i].s;/*找出最小值*/

for(i=0;i

if(min==a[i].s)

b[j++]=a[i];/*找出成绩与min相等的学生的记录,存入结构体b中*/

returnj;

}

21.

(1)0  

(2)j--  (3)j

(1)doublef(doublex)

(2)returns;

21doublefun(intm)

{

inti;

doubles=0.0;

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

s=s+log(i);/*计算s=ln

(1)+ln

(2)+ln(3)+…+ln(m)*/

returnsqrt(s);/*对s求平方根并返回*/

}

22.

(1)N  

(2)substr  (3)0

(1)fun(intx,inty,intz)或intfun(intx,inty,intz)

(2)returnj;

22voidfun(char*a,intn,inth,inte)

{

inti,j=0;

for(i=h;i

a[j++]=a[i];

a[j]='\0';/*在字符串最后加上结束标识*/

}

23.

(1)data  

(2)next  (3)head

(1)while(*r)

(2)*a=*r;a++;r++;

23voidfun(char*s,chart[])

{

inti,j=0,k=strlen(s);/*k为字符串的长度*/

for(i=1;i

t[j++]=s[i];

t[j]='\0';

}

24.

(1)structstudent*  

(2)a->score[i](3)a

(1)char*fun(char(*sq)[M])

(2)returnsp;

24voidfun(inta,intb,long*c)

{

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

}

25.

(1)t[][N]  

(2)i=0;i

(1)intfun(inta[],intm)或fun(inta[],intm)

(2)elseif(m>a[mid])

25voidfun(char*a,char*p)

{

char*t=a;

for(;t<=p;t++)

if(*t!

='*')

*(a++)=*t;

for(;*t!

='\0';t++)

*(a++)=*t;

*a='\0';

/*在字符串最后加上字符串结束标识*/

}

26,。

(1)999  

(2)t/10  (3)x

(1)voidfun(longs,long*t)

(2)while(s>0)

26voidfun(STRECa[])

{

inti,j;

STRECt;

for(i=1;i

for(j=0;j

if(a[j].s

{t=a[j];a[j]=a[j+1];a[j+1]=t;}/*按分数的高低排列学生的记录,高分在前*/

}

27.

(1)->sno  

(2)->name  (3)&t

(1)doublefun(doublea,doublex0)

(2)if(fabs(x1-x0)>=0.00001)

27doublefun(STREC*a,STREC*b,int*n)

{

inti;

doubleav=0.0;

*n=0;

for(i=0;i

av=av+a[i].s;

av=av/N;/*求平均值*/

for(i=0;i

if(av<=a[i].s)

{b[*n]=a[i];*n=*n+1;}/*将高于等于平均分的学生存入b所指存储单元中,并统计人数*/

returnav;/*返回平均分*/

}

28.

(1)q  

(2)next  (3)next

(1)p=j;

(2)p=i;

28voidfun(intm,int*a,int*n)

{

inti,j=0;

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

if(i%7==0||i%11==0)/*求出1到m(含m)之内能被7或11整除的所有整数放在数组a中*/

a[j++]=i;

*n=j;/*返回这些数的个数*/

}

29.

(1)[N]  

(2)t[i][j]  (3)t[j][i]

(1)#defineFU(m,n)(m)/(n)

(2)return(value);

29voidfun(char*a)

{

char*p=a;

while(*p=='*')p++;/*指针p指向字符串第一个字母*/

for(;*p!

='\0';p++,a++)

*a=*p;/*从第一个字母开始,其后的字符都放入指针a所指的字符串中*/

*a='\0';/*在字符串最后加上字符串结束标识*/

}

30.

(1)fp  

(2)==  (3)fp

(1)n=strlen(aa);

(2)ch=aa[i];

30doublefun(STREC*h)

{

doublemax=h->s;

while(h!

=NULL)/*通过循环找到最高分数*/

{if(maxs)max=h->s;

h=h->next;

}

returnmax;

}

31.

(1)1  

(2)2*i  (3)(-1)

(1)k++;

(2)if(m==k)

31voidfun(inta[],intn,int*max,int*d)

{

inti;

*max=a[0];

*d=0;

for(i=0;i

if(*max

{*max=a[i];*d=i;}

}

32.

(1)1  

(2)2*i  (3)(-1)

(1)k++;

(2)if(m==k)

32voidfun(char*s,chart[])

{

inti,j=0,n;

n=strlen(s);

for(i=0;i

if(i%2!

=0&&s[i]%2!

=0)

{t[j]=s[i];/*将下标为奇数同时ASCII码值为奇数的字符放入数组t中*/

j++;

}

t[j]='\0';/*最后加上结束标识符*/

}

33.

(1)&& 

(2)0或'\0' (3)s[j]或*(s+j)

(1)for(i=2;i<=m;i++)

(2)y+=1.0/(i*i);或y+=(double)1.0/(i*i)

33voidfun(inta[3][3],intb[3][3])

{

inti,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

b[i][j]=a[i][j]+a[j][i];/*把矩阵a加上a的转置,存放在矩阵b中*/

}

34.

(1)NODE

(2)next(3)r

(1)if(i%2||s[i]%2==0)或

if(i%2!

=0||s[i]%2==0)

(2)t[j]='\0';或t[j]=0;

34

voidfun(int(*s)[10],int*b,int*n,intmm,intnn)

{

inti,j;

for(j=0;j

for(i=0;i

{

b[*n]=*(*(s+i)+j);

*n=*n+1;/*通过指针返回元素个数*/

}

}

35.

(1)structstudent

(2)a.name

(3)a.score[i]

(1)if(p==n)return-1;

(2)a[i]=a[i+1];

35voidfun(inta,intb,long*c)

{

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

}

36.

(1)next

(2)NULL(3)r

(1)r=t;

(2)应填:

r=t;或r=&t[0];

36voidfun(chara[M][N],char*b)

{

inti,j,k=0;

for(i=0;i

for(j=0;a[i][j]!

='\0';j++)

b[k++]=a[i][j];

b[k]='\0';/*在字符串最后加上字符串结束标记符*/

}

37.

(1)t=i  

(2)i  (3)'\0'或0

(1)while(fabs(t)>=num)

(2)t=s/n;

37voidfun(chara[],charb[],intn)

{

inti,k=0;

for(i=0;a[i]!

='\0';i++)

if(i!

=n)/*将不是指定下标的字符存入数组b中*/

b[k++]=a[i];

b[k]='\0';/*在字符串最后加上结束标识*/

}

38.

(1)p->next

(2)q(3)p->nex

(1)while(*s)或while(*s!

='\0')

(2)s++;

38voidfun(int*w,intp,intn)

{intx,j,ch;

for(x=0;x<=p;x++)

{ch=w[0];

for(j=1;j

{

w[j-1]=w[j];

}

w[n-1]=ch;/*将0到p个数组元素逐一赋给数组w[n-1]*/

}

}

39.

(1)FILE*

(2)fp(3)ch

(1)s[j++]=s[i];

(2)s[j]='\0';

39voidfun(char(*s)[N],char*b)

{

inti,j,k=0;

for(i=0;i

for(j=0;j

b[k++]=s[j][i];

b[k]='\0';

}

40.

(1)'\0'  

(2)0  (3)c

(1)doublesum=0.0;

(2)sum/=c;

40floatfun(intn)

{

inti,s1=0;

floats=0.0;

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

{s1=s1+i;/*求每一项的分母*/

s=s+1.0/s1;/*求多项式的值*/

}

returns;

}

41.

(1)s[i]  

(2)k  (3)'\0'或0

(1)while(*w)

(2)if(*r==*p)

41voidfun(char*s,chart[])

{

inti,j=0,n;

n=strlen(s);

for(i=0;i

if(s[i]%2==0)

{t[j]=s[i];

j++;

}

t[j]='\0';

}

42.

(1)FILE*

(2)fclose(fp)(3)fp

(1)t=calloc(m,sizeof(STU));

(2)t[k]=b[j];

42intfun(inta[],intn)

{

inti,j=1;

for(i=1;i

if(a[j-1]!

=a[i])/*若该数与

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1