全国计算机二级C语言机试试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1套: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;
第2套:程序填空题
给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。
例如,从主函数输入一个整数:2763849626846。
填空:(1)1 (2)s〉0 (3)i*10
改错:(1)int fun(int n,int xx[][M]); (2)printf(“%4d”,xx[i][j]);
编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);
最后在黑色对话框中输入45 12后按回车键
第3套:程序填空题
给定程序中,函数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; }
第4套:程序填空题
给定程序中,函数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)*10+a%10;
最后在黑色对话框中输入45 12后按回车键
第5套:程序填空题
给定程序中,函数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后按回车键 第6套:程序填空题 函数fun的功能是:统计长整数的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。填空:(1)n%10 (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后按回车键 第7套:程序填空题 给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n 所指的存储单元中。 填空:(1)*n (2)next (3)head 改错:(1)a=NULL; (2)if(*r==*p) 编程:*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10); 最后在黑色对话框中输入45 12后按回车键 第8套:程序填空题 给定程序中,函数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后按回车键 第9套:程序填空题 函数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;