上机考题历届c上机模拟题及参考答案

上传人:第*** 文档编号:34045293 上传时间:2018-02-20 格式:DOC 页数:10 大小:163.50KB
返回 下载 相关 举报
上机考题历届c上机模拟题及参考答案_第1页
第1页 / 共10页
上机考题历届c上机模拟题及参考答案_第2页
第2页 / 共10页
上机考题历届c上机模拟题及参考答案_第3页
第3页 / 共10页
上机考题历届c上机模拟题及参考答案_第4页
第4页 / 共10页
上机考题历届c上机模拟题及参考答案_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《上机考题历届c上机模拟题及参考答案》由会员分享,可在线阅读,更多相关《上机考题历届c上机模拟题及参考答案(10页珍藏版)》请在金锄头文库上搜索。

1、1历届 C 上机模拟参考答案改错题(共 24 题)24.题目:下面程序是输出以下图形(输出字符之间无空格,每行第一个字符前也没有空格),请改错。ABCCDEDEFGEFGHI#include void main() int i,j;i=1;while(i2 时) ,请改错。#include #define MAX 20void main() int n, i;int fMAX; /*$ERROR1$*/printf(input n:);scanf(%d, /*$ERROR2$*/f1=1;f2=1;for(i=3;ifloat mean(int x,int num) /*$ERROR1$*/i

2、nt i;float avg;for(avg=0,i=0;i#include /*$ERROR1$*/void main() int n=0,i;char c80;gets(c); /*$ERROR2$*/i=0;while (ci!=0) /*$ERROR3$*/ if(ci=0else cn=ci;n+;i+;cn=0;puts(c);20.题目:以下程序通过指针操作,输入整型数给数组并对数组进行逆序输出,请改错。#include void main()int a10,*p;for(p=a;p=a;p-) /*$ERROR3$*/printf(%5d,*p);19.题目:下面程序是从键盘最

3、多输入 10 个整数,当遇到第一个能被 7 整除的数时,就打印此数后退出循环;若未遇到,打印 “not exist”,请改错。#include void main() int i,x;for(i=1;i10) printf(not exist );18.题目:下面程序是计算 1-1/3+1/5-1/7的值,直到某项的绝对值小于 0.00006 为止,请改错。#include #include #define EPS 0.00006void main() long i;int sing;double s,t;i=1;s=0; /*$ERROR1$*/sing=1;t=1;while (fabs(

4、t)=EPS) /*$ERROR2$*/s=s+t;i=i+2; /*$ERROR3$*/sing=-sing;t=sing*1.0/i;printf(%en,s);17.题目:输入一个不多于 4 位的正整数,判断它是几位数。如输入 1234,则输出 n=3,如果输入的数小于 0 或大于 9999 则输出n=0,请改错。#include void main()int x,n;scanf(%d,n=0; /*$ERROR1$*/if(x=10000)2printf(Data Error!n);else if(xfloat mean(int x ,int num)/*$ERROR1$*/int i

5、;float avg;for(avg=0,i=0;i#includemain()char s81; /*$ERROR1$*/int i,j,n;scanf(“%s”,s);n=strlen(s);i=0; j=n-1; /*$ERROR2$*/while(si= ) i+;while(sj= ) j-;while(imain() char s160,s230;int i=0,j=0;printf(“Enter two string :n”);scanf(“%s%s”,s1,s2); /*$ERROR1$*/for(i=0;s1i!=0;i+); /*$ERROR2$*/while(s2j!=0

6、) /*$ERROR3$*/s1i=s2j;i+;j+;s1i=0;printf(“n New string:%sn”,s1);13. 题目以下程序判断输入的字符串是否“回文”(即顺读和倒读都一样,例如:ABCBA,字符串首部和尾部的空格不参与比较) 。#include#includemain()char s81;int i,j,n;gets(s);n=strlen(s);i=0; /*$ERROR1$*/j=n-1;while(si= ) i+;while(sj= ) j-;while(ilong fac(int n) int i,; long s;s=1; /*$ERROR1$*/i=1;

7、while(imain()int n,f,i;n=3;while(1)f=1;i=2; /*$ERROR1$*/for(;imax) /*$ERROR3$*/max=ai;printf(max num=%dn,max);6. 题目:以下程序通过指针操作,输入整型数给数组并对数组进行逆序输出,请改错。#include main()int a10,*p;for(p=a;p=a;p-) /*$ERROR3$*/ /printf(%5d,*p); 5. 题目:以下程序的功能:输出数组中的最大元素及其下标值。(请不要修改数组元素值的顺序)main()int a10=0,-3,9,2,5,4,8,7,6,

8、1;/*$ERROR1$*/int t,max,i;max=a0; /*$ERROR2$*/t=0;i=1;while(i#includemain()char str130,str220,str60;int i=0,j=0;printf(Enter first string:);gets(str1);printf(Enter second string:);gets(str2);while(str1i)stri=str1i;i+;while(str2j)stri+=str2j;j+; /*$ERROR1$*/stri=0; /*$ERROR2$*/printf(str=%sn,str);/*$

9、ERROR3$*/2. 题目:利用循环语句求:(本题求前 20 项的和)4s=1/(1*2*3)-1/(2*3*4)+1/(3*4*5)-.+1/(19*20*21)-1/(20*21*22)main()int i;float s=0; /*$ERROR1$*/i=1;while(i0)j=1;while(jint fac(int n) int k,f;f=1; /*$BLANK1$*/for(k=1;kint s(int k)int a,b,c;a=k%10;b=k/10%10;c=k/100;if(k=a*a*a+b*b*b+c*c*c)/*$BLANK1$*/return(1);else

10、return(0); /*$BLANK2$*/void main()int i,sum;sum=0;for (i=101;i#include void main()int i;FILE *fp;if(fp=fopen(myfile.txt,w+)=NULL) /*$BLANK1$*/exit(0);for(i=1;i#includevoid main()char str30,t80;int i,j;gets(str);for(i=0,j=0;stri!=0;i+)/*$BLANK1$*/tj+=stri;for(-i;i=0;i-) /*$BLANK2$*/tj+=stri;tj=0; /*$

11、BLANK3$*/puts(t);23.题目:从一个主串中取一个子串,m 表示取子串的起始位置,n 表示所取子串的长度,最后输出所取的了串。(本题主串已知,m,n 的值已知)#include#includevoid main()char str80=ABCD&E1%23#4XYZabc defg567 8%*char sub80 ;int m=4,n=8,i,j;5i=m-1;j=0; /*$BLANK1$*/while(stri!=0 & ivoid main()int n,i,sum;printf(INPUT n:);scanf(%d, /*$BLANK1$*/sum=0; /*$BLAN

12、K2$*/for(i=2; ivoid main()int i,a1,a2,s;s=0; /*$BLANK1$*/for(i=1;ivoid main() int i,max1,max2,a10;for(i=0;imain()int a,b,c,*pmax,*pmin;printf(“input three numbers:n”);scanf(“%d%d%d”,if(ab)pmax=elsepmax=if(c*pmax)pmax= /*$BLANK1$*/else if (c0)r=m%n;m=n;n=r; /*$BLANK2$*/printf(“gcd=%dn”,m); /*$BLANK3$

13、*/17. 题目:从键盘接收 20 个整数,统计其中正数的个数以及所有正数之和。#include main()int i,a20,count;long sum=0;for(i=0;i0) sum+=ai;count+;/*$BLANK3$*/printf(“%d,%ld”,count,sum);16. 题目:从键盘输入 10 个数存入数组 a 中,统计数组下标是奇数且数组元素值为偶数的元素个数。#includemain()int a10,i,s;s=0; /*$BLANK1$*/ for(i=0;i=0 & ch#include main()char s80;int i;gets(s);i=0

14、; /*$BLANK1$*/while(si!=0 ) /*$BLANK2$*/if(si=b);si=f; i+; /*$BLANK3$*/printf(%s,s);13. 题目:编写程序,计算 s=1-1/(1+2)+1/(1+2+3)-1/(1+2+3+4)+.+1/(1+2+3+.+n)的值。(假设本题中的 n=20。main()int i,j;float s=0,s1;for(i=1;imain()int j,k,a55;for(j=0;jmain() int i,j;for(i=-3;imain()int i,n,s;s=0 ; /*$BLANK1$*/i=1;while (saj) /*$BLANK2$*/ temp =ai;ai=aj;aj=temp;for(i=0;imain()int a10,i,j,t;for(i=0;imain()char c20,*p,maxc;p=c;scanf(%s,c); /*$BLANK1$*/maxc=*p; /*$BLANK2$*/while(*p)if(*pmaxc)maxc=*p;p+; /*$BLANK3$*/printf(maxc=%cn,maxc);2. 题目:下列程序输出 200300 之间的全部素数的和,请填空。#include main()in

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号