安徽省二级c语言上机试题_第1页
安徽省二级c语言上机试题_第2页
安徽省二级c语言上机试题_第3页
安徽省二级c语言上机试题_第4页
安徽省二级c语言上机试题_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1:改错:输出小于 2012的最大10个素数,如 201? ,2003,1999,1997,1993 等。注意事项:1 .标有地瓯尺?$的程序行有错,清直接在该行修改.2 .请不要删除或修改$岳阳0"$错误标志|3 .请不要将错误行分成多行14 .请不要修改错误语句的结构或其中表达式的结构,如错误语句: if(U+B)(X=X+?). 正确形式为迂(A+B) !二(X= X+Y).,若改成:if(B+A)l-(X=X+Y). 或if(X= K+Y) !4A+B) .或if (A+B) !=(X+=Y) j等箔式由木得分电.h>void main()int i,j,flag,n;

2、n=0;i=2012;1$*/flag=0;for(j=2;j<i;j+)2$*/flag=1;;3$*/n=n+1;f("%dn”,i);i=i-1;答案:(n<10)If(i%j=0)If(flag=0)2:程序填空:?t? s 的 序?个新的?u。如当 s=12345 ,t=2468?, u 的 ? “68”汪意等期】.蓄删除标有,BLANKS的程序行上的下划线,将正确的答案填在原下 划殡处2 .请不要删除$81邮?$错误标志3 .请不要将需要填空的行分成多行4 .请不要修改任何注释.h>g.h>void main() ”,t80="2468&

3、quot;,u80;int i,j,p,len1,len2;1$*/n(t); n(s);for(i=0;i<len1;i+)for(j=0;j<len2;j+);if (j>=len2)2$*/P+;3$*/ f("%sn”,u);答案:3:程序设计: 从任取?个,有 输入格式:coun?=1230 ti 0?方有12的,3的红,3的白,6个黑 。?搭配。如1红,3白,4黑。等。汪惠垂项1 .请删赊标有$81神?$的程序行上的下划线,格正碉的答案填在原下 划理处2 .请不要删除$81布?$错误标志3 .请不要将需要填空的行分成多行4 .请不要修诙任初注释.h>

4、;(int n)(FILE *out;=%dn",n);T.DAT","w+")!=NULL) =%dp",n);e(out);void main()(int r, w, b;int n=0;for (r=0;r<=3;r+)for (w=0,w<=3,w+)for (b=0;b<=6;b+)if (r+w+b=8) n+;PRINT? (n);1:改错题目:在屏幕上输出以下图形(说明.数字之间无空格)。121321432154321.h>void main()(int i,j;i=1;(i<6)(for(j=1;

5、j<6-i;j+)f("");1$*/(j>=1)2$*/-j;3$*/i+;答案:J=I;f( %d”,j)f( 'n")2:程序填空题目:下列程序的功能是;计算并输出下列皴数的咖项之和谢,直到割大于q为止,曲值通过形参传入, 234N+1SN - - + 1 + 123N例如,若q的值为6.0,则函数值为5. 083333.h>q)int N=1;SN=0;)/*$B1$*/SN=SN+1.0*(N+1)/N;2$*/n SN;void main()q;q:");("%f",&q);3$*/答案:

6、<=N+sum(q).h>3程序设计?题目:计算100 2011之间同时满足下列条件的数之和要求使用循环实现 (1)能被3整除;(2)至少有一位数字是5。输出格式,suhf2345678.h>(long sum)FILE *out;f("sum=%ldn”,sum);T.DAT","w+")!=NULL)tf(out,"sum=%lds",sum);e(out);void main()long sum=0;int I,n,flag;for(i=100;i<2011;i+) flag=0;n=i;doif(n%1

7、0=5)flag=1;brea?;else n=n/10; while? (n>0);if(flag&&i%3=0)sum+=i(sum);1:改错输入5名学生4门课的成绩,输出每门课的最高分.e N 4 e M 5 void main() int i, j; ,f ,max; for(i=1;i<=M;i+) e no %d:",i); );1$*/;2$*/for(j=2;j<=N; j+) ); >max) =max;3$*/ e no %d is: %f", i, max); 答案;:scanf( %f fefirstscor

8、e J; :ma工=firstscore;:max二scor巳;2:程序填空题目;下列程序中函数fun的功能是.计算正整数n的所有因子(1和嘛外) 之和作为函数值返回。例妞 "120时,函数值为23%.h>int fun(int n) int i,sum=0; 1$*/ 2$*/ n sum;void main()int n;n:”); ("%d",&n);3$*/答案:BLAHKL nBLANKS:n%i- 0BLANKS: fun(n)3程序设计?题目,计算20119999之间同时满足以下条件的所有自然数之和 条件如下工该数能祓11整除三(2)该

9、数加1后能被4整除。输出格式 s=12345参考程序一:#include <stdio. h> void PRINT (long s) (FILE +out;printf (s=%l dn s);if(out=fopen(result. dat J柑")1=NULL) fprintf (out, "w二%Id", s);fclose(out), )void main。Ilong s=0;int i;for (i=2011;i<=9999;i+)if (i%ll=0U0)s=s+i;PRINT(s);1 :改错:题目:输出一维数组中的最大元素及其下

10、标值。(int a口,int n)int i,max;1$*/for(i=1;i<n;i+) if(ai > amax) max=i;2$*/void main()int a10=13,1,-5,4,9,0,-8,7,-6,2;int max;3$*/ ss=%dn",amax,max);答案:$1$:Dax=0;$2$: return max;:max-getMaxFroinArray Ca, 10);2:程序填空题目:下列程序功能是;读入一行英文文本,将其申每个单词的第一个字母 改成大写,然后输出此文本行(这里的"单词”是指由空格隔开的字符 串)0例如,若输

11、入: I am a student to take the Exantination. 应输出;I Aid A Student To Take The Examination.#in.h>void main()char str80,*ch;int flag=1;g:n");gets(str);1$*/(*ch)if (*ch=' ') flag=1; else*ch=*ch-32;flag=0;3$*/f("%sn",str);BLANK1: strBLANK2: 1BLANKS: ch+3:程序设计题目:已知数列F(n). 当或n=2时F

12、(n)=l(2)当 n>2 时F (n)=(F (n-2)+F (n-l)%10000 求该数列前40项的和(要求使用循环实现)。输出格式:s=123456 参考程序一,#include <stdio. h>void PRINT (long s)(FILE +out;print f ("s二瓶 dn 1 s);if(out=fopen(result, dat"NULL fprintf (outjs);fclose(out);)void mainO(long s=2;int fl, f2,f,int i;门二f2=l;for (i=3;i<=40;i+

13、)(f=(fl+f2)%10000;s+=f;fl=f2;f2=f;)PRINT (s);题印计算;1+ (1+2)+(1+2+3)+ (1+2+3+4)+. . + (1+2+3+. +n)的值。.h>int sum(int n)int i,s;1$*/for(i=1;i<=n;i+)s=s+i; n s;void main()int i,n;long s;prn:");2$*/s=0;for(i=1;i<=n;i+)3$*/ t is %ld'n”,s);答案:参考答案$1$: 5二0;I21:scanfC%d An);$3$ :s = s+suioti

14、);2:程序填空.h>void fun(int s,int *n) int a,b,c,i;for(i=100;i<=999;i+)1$*/b=i/10%10;c=i%10;if(a+b+c=9) s*n=i;2$*/void main()int s50,n=0,i;3$*/for(i=0;i<n;i+)f("%d ",si);f("n");答案:参考答案:BLANKL i/100BLANK2: (*n)-HBLANK3;与I b X . II aX3;程序设计题目.根据下式计算自的值口s=l/(2*2)+2/(3+3)+3/(4*4)

15、+. +18/(19+19) 说明工(1)结果保留四位小数事要求使用循环实现。输出格式工s=12, 4567参考程序,#include <stdioi h> void PRINT (double s) (FILE *out;print f( Js=%. s);if (out=f openesult. dat", "w+") !:MJLL)fprintf (outjs二区.s):fclose (out),. void main。(int i;double s=0,for (i-1;i<=18;i+)s=s+1,0*i/(i+l)/(i+l);PRI

16、NT(s);1 :改错苦有车的车牌号和罚分记录数据,统计罚分达到或超过12分的车辆总数并输出这些车辆的信息(说明;i画代表车牌号,scqi1国?我裹制芬.h>t car char id12;;void main()int i,n=0;- 1$*/- ",12,- ",12,- ",5,- ",6,- ",12;e'n");i=0;(i<6);#$*/-3$*/i+;f("n=%d'n”,n);参考答案.:struct car c6= CA-QQlll 8,$2J :if(cil. score>

17、;=12)$3t:n+;2:程序填空题目:下列程序功能是;统计字符串s中各元音字母的个数。说孙(1)兀音字母即2 M E, I, 0, Ui(2)字母不分大、小写。例如,若输入字符串=FIR is a book则输出应该是: 1 0 2 2 0.h>.h>void main()char s80;int i=0,a5=0;g:n");1$*/2$*/er(si);3$*/for(i=0;i<5;i+)f("%d ",ai);f("n");#$*/参考答案二 BLANKh s BLANK 2: 0 BLANK3: i+3:程序设计

18、题目:根据下式求3的值。s=2011/H-201Q/2+2009/3+t. .+3/2009+2/201Q+1/2011 说明:(1)结果保留一位小数;(2)要求使用借环实现。输出格式: s=2.1参考程序一:#include <stdio. h> void PRINT(double s) (FILE *DUt;printf(s=%. 1 fn?, s);i f ( (out=fopen (? resul t. dat。加+") l=NULL) fprintf (out, "sq 5f l s);fclose(out);.void irainC) (double

19、 s=0;int i;for (i=l;i<=2011;i+) s=s+k0+1/(2012-1);FRnrrS), i :改错 题目: 己知数列;第一项和第二项都是L从第三项开始每项都是其前两项之和.求第n项如从铤盘输入,用递归实现 .h> long f(int n) n 1;elsevoid main()long m;int n;n:'n");scan3$*/if(n>0)m=f(n);f("%ld'n”,m);n");参考答案;$11:if(n=l I| n=2)$2$:return f(n-l)+f(n-2);$3$ :

20、scanf (飞d”,;2:程序填空题目:下列程序中函数fun的功能是;删除字符串中的数字字符。例如输入字符串 48CTYP9E6,则输出, CTYPE.h>g.h>void fun(char s口)int i,j;1$*/if(si<'0' |si>'9')sj+=si;2$*/void main()char str80;g:n");3$*/fun(str);puts(str);参考答案:BLANK 1:''0'BLANK2 :'BLANKS:; str3:程序设计题目:1+1问题一个正整数m若

21、其为奇数,则变换成3/1,若其为偶数,则变换成n/2,名配若干次变换,总能变成L 例如.当正整数口等于3时,有:3->lD->5->16->E->4->2->l编程计算得于1235时,最少需要经过多少次变换才能变成L输出格式:count=2345参考程序一,ttinclude <stdin. h>void PRIWT(int count)(FILE *Qut,printfcount-%dn count);if (out=f open (result, dat!=NULL)fprintf(outj 'countcount);fclos

22、e(out);)void main。(int count=0;int rP1235;for (count=0;nl;count+)if (n%2=0)nf/2,elsen=3*n+l,PRINT (count):11 :改错题目;将一个数组的数据逆序输出.h>)int i,t;<0)n -1;/2;i+)t=a0;1$*/-i-1; -i-1=t; n 1;2$*/ void main() int a10=1,2,3,4,5,6,7,8,9,10;rn;is :'n"); for(i=0;i<10;i+)f("%4d",ai);rn=so

23、rt(10);3$*/rn=0) is :'n"); for(i=0;i<10;i+) f("%4d",ai); f("n");else !n");参考答案:$3$ ;retum 0;$3$ :nReturn=sort (a, 10);2:程序填空题目:将数组中的数按从小到大排序后输出.h>void main() int a10=34,-5,12,50,88,62,1,-70,-20,0;int i,j,temp;for (i=0;i<9;i+) for(j=0;j<9-i;j+) 1$*/temp =

24、 aj;aj = aj+1;/*2$*/)for(i=0;i<=9;i+)3$*/f("n");)参考答案上BLANK1; aj>aj+lBLANK 2:tempBLANKS. ai X II X3:程序设计题目:与T相关的数若一个数含有数字7,或者其各位数字之和等于。称该数与T相关.计算三位正整数中与7相关的数的个数。输出格式;n二2345参考程序一,#include <stdio. h>void PRINT(int n)(FILE *out;print f (n=%dn/, n);i f (Cout=fopen C?resul t. dat'1 "w+")!=皿JLL) fprintf (out/rr%d、n);fclose(out); _void main。(int n=0;int j 瓦 c;for (a=l; a<=9; a+)for (b=0;b<=9;b+)for (c0;c<=9;c-F+)if (a=7 | |b=7 | |c=7 | | (a+b+c)=7)n+;PRIHT (n);1:改错题目;以下程序判断字符串是否对称。.h>void main()int i,j,flag,n;n=0;i=2012;1$

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论