二级c上机考试资料 下载本文

二级c上机考试资料

一、

1、程序填空题

给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写在文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。 填空:(1)FILE* (2)fclose(fp) (3)fp

改错:(1)t=(STU *)calloc(sizeof(STU),m); (2)t[k]=b[j]; 编程:int i,t,j=0,*p=a; t=p[0];

for(i=0;i<=n;i++) if(t=p[i]) ;

else { a[j]=t; t=p[i]; j++;} if(i>=n) a[j]=t; return j; 二、

1、程序填空题

给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。

例如,从主函数输入一个整数:27638496函数返回值为26846。 填空:(1)1 (2)s (3)i*10

改错:(1)int fun(int n,int xx[][M]); (2)printf(“M”,xx[i][j]); 编程:*c=(a/10)*1000+(b)*100+(a)*10+(b/10); 最后在黑色对话框中输入45 12后按回车键 三、

1、程序填空题

给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。

例如,当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500,共有15个。当x值为27时,各位数字之和为27的整数是:999,只有1个。 填空:(1)999 (2)t/10 (3)x

改错:(1)void fun(long s,long *t) (2)while(s>0)

编程:(注意:此题在/*请按题目要求完成以下代码*/的下面填入答案)

if(a[i].s < a[j].s)

{tmp=a[i]; a[i]=a[j]; a[j]=tmp; } 四、

1、程序填空题

给定程序中,函数fun的功能是:找出100至x(x<999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。

例如,当n值为500时,各位数字之和为15的整数有:159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26个。 填空:(1)0 (2)x (3)t++

改错:(1)int i,s1; (2)t[i]=s[s1-1-i];

编程:*c=(b/10)*1000+(a/10)*100+(b)*10+a; 最后在黑色对话框中输入45 12后按回车键 五、

1、程序填空题

给定程序中,函数fun的功能是计算下式 s=1/(2*2)+3/(4*4)+5/(6*6)+…+(2n-1)/(2n*2n)直到|(2n-1)/(2n*2n)|<=1e-3,函数的返回值2.985678。 填空:(1)0 (2)i++ (3)2.0*i

改错:(1)void fun(char *s,char *t) (2)t[2*d]=?\\0?; 编程:int i,j=0;

for(i=1;i

if(i%2==1 && s[i]%2==1) t[j++]=s[i]; t[j]= ?\\0?;

最后在黑色对话框中输入ABCDEFG123456后按回车键 六、

1、程序填空题

函数fun的功能是:统计长整数的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。 填空:(1)n (2)break (3)break 改错:(1)if(t==0) (2)*zero=count; 编程:double s=0,t=1; int i;

for(i=1;i<=n;i++) {t*=i; s+=1.0/t;} return s;

最后在黑色对话框中输入50后按回车键 七、

1、程序填空题

给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。

填空:(1)*n (2)next (3)head 改错:(1)a=NULL; (2)if(*r==*p)

编程:*c=(a)*1000+(b/10)*100+(a/10)*10+(b); 最后在黑色对话框中输入45 12后按回车键 八、

1、程序填空题

给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时, 程序输出 x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000 填空:(1)double (2)f1 (3)f2

改错:(1)char *fun(char *s,char *t) (2)ss++; (3)tt++; 编程:int i;

for(i=0;i

fun1(w);

最后在黑色对话框中输入3后按回车键 九、

1、程序填空题

函数fun的功能是:从三个形参a,b,c中找出中间的那个数,作为函数值返回。例如,当a=3,b=5,c=4时,中数为4。 填空:(1)a (2)a (3)b

改错:(1)c=c+32;(把大写C改成小写) (2)c=c+5; 编程:int i;

double fac=1.0;

double sum=1.0; for(i=2;i<=n;i++)

{ fac+=sqrt(i); sum+=fac; } 最后在黑色对话框中输入20后按回车键 十、

1、程序填空题

给定程序中,函数fun的功能是,将形参s所指字符串中的字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。

例如:s所指字符串为:asd123fgh543df,处理后新字符串为asdfghdf123543。 填空:(1)s[i] (2)k (3)0

改错:(1)while(*w) (2)if(*r==*p) 编程:int i,j=0;

for(i=0;i

if(!(s[i]%2)) t[j++]=s[i]; t[j]=?\\0?;

最后在黑色对话框中输入ABCDEFG12345后按回车键 十一、

1、程序填空题

给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 填空:(1)q (2)next (3) next

改错:(1);(少了分号) (2){p=j;t=a[p];a[p]=a[i];a[i]=t;} 编程:int i; *n=0;

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

if((i%7 == 0) || (i == 0)) a[(*n)++]=i; 十二、

1、程序填空题

给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。

填空:(1)*std (2)std[i].age (3)max.name

改错:(1)void fun(int *a,int *b) (2)t=*b;*b=*a;*a=t; 编程:int i,j,min,k; for(i=0;i

for(j=1;j

{ min=tt[j][i]; k=j;} pp[i]=tt[k][i]; } 十三、

1、程序填空题

给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长

改错:(1)result*=n--; (2)return result;(把横线改成result) 编程:char *p=s; int i=0;

while(*p)

{ if(*p!=c) s[i++]=*p; p++; } s[i]=?\\0?;

最后在黑色对话框中输入n后按回车键 十四、

1、程序填空题

给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长

填空:(1)ss[i] (2)j+n (3)1

改错:(1)if(*p == ?? ) (2);(后面缺少分号) 编程:char ch; int i,j;

for(i=1;i<6;i++) for(j=i+1;j<6;j++) { if (*(s+i) < *(s+j) )

{ ch=*(s+j); *(s+j)= *(s+i); *(s+i) = ch;} }

最后在黑色对话框中输入CEAedca后按回车键 十五、

1、程序填空题

函数fun的功能是:计算f(x)=1+x+x2∕2!+…+xn/n! 直到∣xn/n!∣<10-6 若x=2.5,函数值为:12.182494。

填空:(1)x (2)n (3)t

改错:(1)d=1;s=0; (2)d=d/10;(是除号) 编程:int i;

double s=0;

for(i=0;i<8;i++) s+=sqrt((x[i]+x[i+1])/2); return s; 十六、

1、程序填空题

给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。

例如,有9个正整数:1 5 7 23 87 5 8 21 45 按升序排列时的中间数为:8

处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45 填空:(1)b[k] (2)N/2 (3)<

改错:(1)int t[N],i,num=0; (2)t[num++]=b[i]; (3)for(i=0;i

{ int n=0; while(*s)

{ if (*s>=?0? && *s<=?9?) s++;} return n; } 十七、

1、程序填空题

给定程序中,函数fun的功能是:统计整型变量m中各数字出现的次数,并存放到数组a中,其中:a[0]存放0出现的次数,a[1]存放1出现的次数,…… a[9]存放9出现的次数。