历年C语言上机真题.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《历年C语言上机真题.pdf》由会员分享,可在线阅读,更多相关《历年C语言上机真题.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、改错题1、下列程序功能是,从键盘输入一个字符串,统计其中大写字母个数m和小写字母个数n,并且输出m,n中的较大者。#i ncl ude stdi o.h#i ncl ude str i ng.h m a i n()ch a r s 80;i nt i,k,m=0,n=0;g ets(s);i=1;/*$ERR0R1$*/k=strl en(s);w h i l e(i=,A1&si =,a*&si m)/*$ERR0R3$*/pr i ntf(m a x=%d n”,m);el se pri ntf(m a x=%d n”,n);)2、以下程序的功能是求两个整数的最大公约数。m a i n
2、()i nt m,n,r,t;pr i ntf(z,Input tw o num b er,pl ea se!nz,);sca nf(%d,%d,&m,&n);i f(m n)/*$ERR0R1$*/t=m;m=n;n=t;r=m%n;w h i l e(r=0)/*$ERR0R2$*/m=n;n=r;r=m%n;)pri ntf(g cd=%D n”,n);/*$ERR0R3$*/3、以下程序的功能:输出数组中的最大元素及其下标值。m a i n()i nt a 10 =(0,-3,9,2,5,4,8,7,6,1);/*$ERR0R1$*/i nt tf m a x,i;m a x=a 0;
3、t=1;/*$ERR0R2$*/i=1;w h i l e(i=10)/*$ERR0R3$*/i f(m a x a i )m a x=a i ;t=i;i+;pri ntf(MAX=%d,ADDRESS=%d,m a x,t);)4、以下程序通过指针操作,输入整数给数组并对数组进行逆序输出。#i ncl ude m a i n()ti nt a 10,*p;for(p=a;pa;p)/*$ERR0R2$*/p r in t f p);/*$ERR0R3$*/5、随机输入10个数,选出其中的最大数。m a i n()i nt i,m a x,a 10;pri ntf(,zi nput 10 n
4、um b er:nz,);i=0;w h i l e(i=10)/*$ERR0R1$*/s c an f a i);/*$ERR0R2$*/i+;)m a x=a 0;for(i=1;i a 0)/*$ERR0R3$*/m a x=a i :pr i ntf(m a x num=%d n”,m a x);16、输出以下图形(*之间没有空格,每行第一个*前也没有空格)*m a i n()ti nt i,j;i=1;/*$ERR0R1$*/w h i Ie(i 4)j=0;w h i l e(j 0)(j=1;w h i l e(j=i)pri ntf(*);j+;pri ntf(n);i+;/*
5、$ERR0R3$*/117、利用循环语句求:1/3-2/5+3/7-4/9+n/(2n-1)d的值。(本题求前50项之和)m a i n()i nt i=1;fl oa t s;s=0;w h i l e(i 50)/*$ERR0R1$*/i f(i%2=0)/*$ERR0R2$*/2s=s+1.0*i/(2*i+1);e I ses=s-1.0*i/(2*i+1);i+;)pri ntf(S=%d”,s);/*$ERR0R3$*/)8、输出以下图形(输出数字之间无空格,每行第一个数字前也没有空格)123345456756789m a i nO i nt i,j;i=1;w h i l e(i
6、 5)/*$ERROR1$*/(for(j=i;j 2*i;j+)pri ntf(,z%fz,,j);/*$ERROR2$*/pri ntf(n);i ;/*$ERROR3$*/9、利用循环语句求:(本题求前20项的和)S=1/(1*2*3)-1/(2*3*4)+1/(3*4*5)-.+1/(19*20*21)-1/(20*21*22)m a i n()l i nt i;fI oa t s;/*$ERR0R1$*/i=1;w h i l e(i 20)/*$ERR0R2$*/i f(i%2=0)/*$ERR0R3$*/s=s+1.0/(i*(i+1)*(i+2);el ses=s-1.0/(i
7、*(i+1)*(i+2);i+;)pri ntf(%f n”,s);)10、以下程序的功能是:定义m ea n函数求num 个数的平均值,在主函数中调用m ea n函数求15个数的平均值,并输出结果。#i ncIudefl oa t m ea n(i nt x,i nt num)/*$ERR0R1$*/i nt i;fl oa t a vg;for(a vg=0,i=0;i num;i+)a vg+=x i ;a vg%=num;/*$ERR0R2$*/return(a vg);1m a i n()i nt i,a 15;fl oa t a vg;for(i=0;i 15;i+)3a i =i
8、+3;a vg=m ea n(a 0 ,15);/*$ERR0R3$*/pr i ntf(a vera g e:%6.2f n”,a vg);)11、以下程序是定义长度为81的数组用于存放字符串,判断输入的字符串是否是“回文”(即顺读和倒读都一样,例如:ABCBA,首部和尾部的空格不参与比较。)#i ncIude#i ncl udem a i nO ch a r s81;/*$ERR0R1$*/i nt i,j,n;sca nf(%s”,s);n=str l en(s);i=0;j=n-1;/*$ERR0R2$*/w h i l e(sU=)i+;w h i l e(sj )j ;w h i
9、l e(i j&si =sj )/*$ERR0R3$*/i+;j ;i f(i j)pri ntf(No n);eIse pri ntf(Yes n);112、下面程序的功能是从主函数中输入一个正整数n,并通过调用fa c函数,求 得 n 的阶乘,在主函数中输出n!的值,请修改程序中的错误。#i ncIudeIong fa c(i nt n)i nt i;l ong s;s=1;/*$ERR0R1$*/i=1;w h i l e(i=n)/*$ERR0R2$*/s=s*i;i+;return s;1m a i n()i nt n;pri ntf(Enter n:);sca nf(%d,&n);
10、/*$ERR0R3$*/pr i ntf(s=%Id n”,fa c(n);13、将数组中的数按从大到小排序后输出(输出时每个数占5 歹 Dm a i n()i nt a 10=23,90,-45,60,100,62,78,-89,-50,0);i nt i,j,tem p;for(i=0;i 9;i+)(for(j=0;j 9-i;j+)i f(a j a j+1)/*$ERR0R1$*/tem p=a j ;a j =a j+1;a j+1=tem p;/*$ERR0R2$*/)4for(i=0;i=9;i+)pri ntf(%5d”,a i );/*$ERR0R3$*/114、不用str
11、ca t函数,将键盘输入的两个字符串连接起来形成一个新串(将第二个串连接到第一个串的后面)#i ncIudem a i n()ch a r s160,s230;i nt i=0,j=0;pri ntf(Enter tw o str i ng :n);sca nf(%s%s”,s1,s2);/*$ERR0R1$*/for(i=0;s1i !=0 ;i+);/*$ERR0R2$*/w h i l e(s2j =0)/*$ERR0R3$*/Is1 i =s2j ;i+;j+;)s1i =0;pri ntf(w n New stri ng:%s n”,s1);115、以下程序判断输入的字符串是否是“回
12、文”(即顺读和倒读都一样。例如:ABCBA,字符串首部和尾部的空格不参与比较)。#i ncl ude#i ncl udem a i n()ch a r s81;i nt i,j,n;g ets(s);n=strIen(s);i=0;/*$ERR0R1$*/j=n-1;w h i l e(si =)i+;w h i l e(sj )j ;w h i l e(i j&si =sj )/*$ERR0R2$*/i+;j ;)i f(Kj)/*$ERR0R3$*/pri ntf(No n);e I sepri ntf(Yes n);)二、填空题1、下列程序输出200 300之间的全部素数的和,请填空。#
13、i ncl ude m a i nOl i nt i,j,f,s;s=0;/*$BLANK1$*/for(i=201;i 300;i+=2)g ;for(j=2;j=l-1)s+=i;/*$BLANK3$*/1pr i ntf(s=%d n”,s);12、从键盘输入10个数存入数组a中,统计数组下标是奇数且数组元素值为偶数的元素个数。#i ncl ude m a i n()l i nt a 10,i,s;s=0;/*$BLANK1$*/for(i=0;K10;i+)/*$BLANK2$*/sca nf(%d”,&a i );i f(i%2=1&a i%2=0)/*$BLANK3$*/s+;)p
14、r i ntf(%d n”,s);)3、完善程序,使 5*5数组的主对角线元素为1,其它元素为0。m a i n()(i nt j,k,a 5 ;for(j=0;j 5;j+)for(k=0;k 5;k+)i f(k=j )/*$BLANK1$*/a j k =1;/*$BLANK2$*/e I sea j k =O;/*$BLANK3$*/)for(j=0;j 5;j+)for(k=0;k=O&ch=9)/*$BLANK2$*/s+;ch=g etch a r();/*$BLANK3$*/)pri ntf(%d n”,s);15、以下程序中,主函数中调用col urm i i n函数,实现在
15、N 行 M 列的二维数组中找出每一列上的最小值。#defi ne N 3#def i ne M 4voi d col um m i n(i nt x N M)i nt i,j,p;for(j=O;j M;j+)p=0;for(i=1;i x i j )p=i;/*$BLANK1$*/pri ntf(T h e m i n i n col um%d i s%d nz,,j,x p j ):/*$BLANK2$*/1m a i nO i nt x N M =1,5,7,4,2,6,4,3,8,2,3.11;co Ium m i n(x);/*$BLANK3$*/)6、下列程序实现从键盘接受3 个数
16、,输出最大数和最小数,完善程序。程序如下:#i ncIudem a i n()i nt a,b,c,*pm a x,*pm i n;pri ntfCi nput th ree num b ers:nz,);sca nf(%d%d%d,&a,&b,&c);i f(a b)pm a x=&a;pm i n=&b;e I se pm a x=&b;pm i n=&a;i f(c*pm a x)pm a x=&c;/*$BLANK1$*/el se i f(c*pm i n)pm i n=&c;/*$BLANK2$*/pr i ntf(m a x=%d,m i n=%d n,*pm a x,*pm i
17、 n);/*$BLANK3$*/)7、以下程序的功能是:统计用0-9之间不同的三个数字构成一个三位数有多少种方法,如:123,345,182等,请填空m a i n O i n t i,j,k,co u n t;co u n t=0;/*$B LA NK1$*/fo r(i=1;i =9;i+)fo r(j=0;j =9;j+)i f(l=j)co n t i n u e;/*$B LA NK2$*/el s efo r (k=0;k =9;k+)i f(k!=l&k!=j)co u n t+;/*$B LA NK3$*/p r i n t f(%d”,co u n t);8、求级数s=1*1
18、+2*2+3*3+4*4+.+n*n,求前n 项之和小于50000时的最大的n的值#i n cI u de m a i n Ol i n t i,n,s;s=0;/*$B LA NK1$*/i=1;wh i l e(s =50000)(s+=l*i;/*$B LA NK2$*/i=i+1;1n=l-1;/*$B LA NK3$*/p r i n t f(n=%d,n);)9、输出以下图形(数字之间没有空格,每行第一个数字前也没有空格)00010000011100701111101111111011111000111000001000#i n cl u de m a i n Ol i n t i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 语言 上机
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内