欢迎来到天天文库
浏览记录
ID:38705895
大小:163.50 KB
页数:10页
时间:2019-06-17
《上机考题历届C上机模拟题及参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、历届C上机模拟参考答案改错题(共24题)24..题目:下面程序是输出以下图形(输出字符之间无空格,每行第一个字符前也没有空格),请改错。ABCCDEDEFGEFGHI#includevoidmain(){inti,j;i=1;while(i<=5)/*$ERROR1$*/{for(j=i;j<2*i;j++)printf("%c",j+64);/*$ERROR2$*/printf("");i++;/*$ERROR3$*/}}23..题目:下面程序完成对于给定的数n,计算F(n)的值(本题假设n小于20),F(n)函数定义如
2、下:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)(当n>2时),请改错。#include#defineMAX20voidmain(){intn,i;intf[MAX];/*$ERROR1$*/printf("inputn:");scanf("%d",&n);/*$ERROR2$*/f[1]=1;f[2]=1;for(i=3;i<=n;i++)/*$ERROR3$*/f[i]=f[i-1]+f[i-2];printf("%d",f[n]);}22..题目:以下程序的功能是在mean函数中求数组的平均值,在
3、主函数中输出平均值,输出格式为average:10.00,请改错。#includefloatmean(intx[],intnum)/*$ERROR1$*/{inti;floatavg;for(avg=0,i=0;i4、入一个字符串c,下面程序是删除字符串c中所有数字字符,请改错。#include#include/*$ERROR1$*/voidmain(){intn=0,i;charc[80];gets(c);/*$ERROR2$*/i=0;while(c[i]!=' ')/*$ERROR3$*/{if(c[i]>='0'&&c[i]<='9')i++;else{c[n]=c[i];n++;i++;}}c[n]=' ';puts(c);}20..题目:以下程序通过指针操作,输入整型数给数组并对数组进行逆序输出,请改错。5、#includevoidmain(){inta[10],*p;for(p=a;p=a;p--)/*$ERROR3$*/printf("%5d",*p);}19..题目:下面程序是从键盘最多输入10个整数,当遇到第一个能被7整除的数时,就打印此数后退出循环;若未遇到,打印“notexist”,请改错。#includevoidmain(){inti,x;for(i=1;i<=10;i++){s6、canf("%d",&x);/*$ERROR1$*/if(x%7==0)/*$ERROR2$*/{printf("%d",x);break;/*$ERROR3$*/}}if(i>10)printf("notexist");}18..题目:下面程序是计算1-1/3+1/5-1/7+…的值,直到某项的绝对值小于0.00006为止,请改错。#include#include#defineEPS0.00006voidmain(){longi;intsing;doubles,t;i=1;s=0;/*$ERROR1$*/7、sing=1;t=1;while(fabs(t)>=EPS)/*$ERROR2$*/{s=s+t;i=i+2;/*$ERROR3$*/sing=-sing;t=sing*1.0/i;}printf("%e",s);}17..题目:输入一个不多于4位的正整数,判断它是几位数。如输入1234,则输出n=3,如果输入的数小于0或大于9999则输出n=0,请改错。#includevoidmain(){intx,n;scanf("%d",&x);n=0;/*$ERROR1$*/if(x<=08、9、x>=10000)10printf("10、DataError!");else{if(x<10)/*$ERROR2$*/n=1;elseif(x<100)n=2;elseif(x<1000)
4、入一个字符串c,下面程序是删除字符串c中所有数字字符,请改错。#include#include/*$ERROR1$*/voidmain(){intn=0,i;charc[80];gets(c);/*$ERROR2$*/i=0;while(c[i]!=' ')/*$ERROR3$*/{if(c[i]>='0'&&c[i]<='9')i++;else{c[n]=c[i];n++;i++;}}c[n]=' ';puts(c);}20..题目:以下程序通过指针操作,输入整型数给数组并对数组进行逆序输出,请改错。
5、#includevoidmain(){inta[10],*p;for(p=a;p=a;p--)/*$ERROR3$*/printf("%5d",*p);}19..题目:下面程序是从键盘最多输入10个整数,当遇到第一个能被7整除的数时,就打印此数后退出循环;若未遇到,打印“notexist”,请改错。#includevoidmain(){inti,x;for(i=1;i<=10;i++){s
6、canf("%d",&x);/*$ERROR1$*/if(x%7==0)/*$ERROR2$*/{printf("%d",x);break;/*$ERROR3$*/}}if(i>10)printf("notexist");}18..题目:下面程序是计算1-1/3+1/5-1/7+…的值,直到某项的绝对值小于0.00006为止,请改错。#include#include#defineEPS0.00006voidmain(){longi;intsing;doubles,t;i=1;s=0;/*$ERROR1$*/
7、sing=1;t=1;while(fabs(t)>=EPS)/*$ERROR2$*/{s=s+t;i=i+2;/*$ERROR3$*/sing=-sing;t=sing*1.0/i;}printf("%e",s);}17..题目:输入一个不多于4位的正整数,判断它是几位数。如输入1234,则输出n=3,如果输入的数小于0或大于9999则输出n=0,请改错。#includevoidmain(){intx,n;scanf("%d",&x);n=0;/*$ERROR1$*/if(x<=0
8、
9、x>=10000)10printf("
10、DataError!");else{if(x<10)/*$ERROR2$*/n=1;elseif(x<100)n=2;elseif(x<1000)
此文档下载收益归作者所有