您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 省二级上机模拟考试题目及答案
试题一改错题以下程序的功能是输出个位数为3的最小的10个素数,如3,13,23....等。#includestdio.hvoidmain(){inti,j,flag,n;n=0;i=3;while(n=10)/*$ERROR1$*/{flag=0;for(j=2;ji;j++)if(i/j==0)/*$ERROR2$*/{flag=1;break;}if(flag=0)/*$ERROR3$*/{n=n+1;printf(%d\n,i);}i=i+10;}}答案:(1)while(n10)(2)if(i%j==0)(3)if(flag==0)程序填空题:以下程序的功能是:输出所有的“水仙花数”,并输出“水仙花数”的个数。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3.#includestdio.hvoidmain(){inti,a,b,c,n;n=___;/*$BLANK1$*/for(i=101;i=999;i++){a=i%10;b=i/10%10;c=___;/*$BLANK2$*/if(a*a*a+b*b*b+c*c*c==i){printf(%6d,i);___;/*$BLANK3$*/}}printf(\nn=%d\n,n);}答案:(1)0(2)i/100(3)n++或++n程序编写题:计算1-500之间(即从1到500)的全部“同构数”之和。所谓“同构数”是指一个数。它出现在它的平方数的右端。如6的平方是36,6出现在36的右端,6就是同构数。输出格式:s=367#includestdio.hvoidPRINT(ints){FILE*out;printf(s=%d,s);if((out=fopen(“RESULT.DAT,w+))!=NULL)fprintf(out,n=%d,s);fclose(out);}voidmain(){inti;longt,s=0;for(i=1;i=500;i++){t=i*i;if(t%10==i||t%100==i||t%1000==i){printf(“%d\t%d\n”,i,i*i);s=s+i;}}PRINT(s);}试题二改错题:以下程序的功能是从键盘上输入一些字符,逐个把它们保存到文件abc.txt中,直到输入一个“#”为止。#includestdio.hvoidmain(){FILE*p1;charch;p1=fopen(abc.txt,r);/*$ERROR1$*/if(p1==0){printf(cannotopenfile\n);exit(0);}ch=getchar();while(ch!='#'){fputc(ch);/*$ERROR2$*/putchar(ch);ch=getchar();}fclose(abc.txt);/*$ERROR3$*/}答案:(1)p1=fopen(“abc.txt”,”w”)(2)fputc(ch,p1)(3)fclose(p1)程序填空题:求1-1/3+1/5-1/7+......+1/97-1/99的值。#includestdio.hvoidmain(){inti=1;doubles;s=___;/*$BLANK1$*/while(i=50){if(___)/*$BLANK2$*/s=s+1.0/(2*i-1);elses=s-1.0/(2*i-1);___;/*$BLANK3$*/}printf(S=%f\n,s);}答案:(1)0(2)i%2==1或i%2(3)i++或++i程序编写题:计算并输出Fibonacci数列中小于30000的最大一项。说明:Fibonacci数列的前两项均为1,从第3项开始每一项都是其前两项的和。数列如下:1,1,2,3,5,8,13,21,.....输出格式:f=2345678#includestdio.hvoidPRINT(longf){FILE*out;printf(f=%ld\n,f);if((out=fopen(RESULT.DAT,w+))!=NULL)fprintf(out,f=%ldd,f);fclose(out);}voidmain(){longf1,f2,f,i;f1=f2=1;for(i=2;;i++){f=f1+f2;if(f30000)break;f1=f2;f2=f;}f=f2;PRINT(f);}试题三改错题:以下程序的功能是输入正整数n后,输出n行由小写字母a开始构成的三角形字符阵列图形(n不得大于7)。例如,输入整数4时的图形如下:abcdefghij#includestdio.hvoidmain(){inti,j,n;charch='a';printf(%d,&n);/*$ERROR1$*/if(n=7)for(i=1;in;i++)/*$ERROR2$*/{for(j=1;j=n-i+1;j++){printf(%2c,ch);ch--;/*$ERROR3$*/}printf(\n);}elseprintf(nistoolarge!\n);printf(\n);}答案:(1)scanf(“%d”,&n)(2)for(i=1;i=n;i++)(3)ch++程序填空题:输出以下图形1234567890#includestdio.hvoidmain(){inti,j;ints=0;for(i=1;___;i++)/*$BLANK1$*/{for(j=1;j=i;j++){s=s+1;printf(%d,___);/*$BLANK2$*/}printf(___);/*$BLANK3$*/}}答案:(1)i=4(2)s%10(3)\n程序编写题:编写程序,计算由数字0,1,2和3所组成不超过三位数的所有奇数之和(各位上的数字可以相同)。输出格式:s=12345#includestdio.hvoidPRINT(longs){FILE*out;printf(s=%ld\n,s);if((out=fopen(RESULT.DAT,w+))!=NULL)fprintf(out,s=%ld,s);fclose(out);}voidmain(){longints=0;inti,j,k;for(i=0;i=3;i++)for(j=0;j=3;j++)for(k=1;k=3;k=k+2)s=s+i*100+j*10+kPRINT(s);}试题四改错题:以下程序的功能是输出一维数组中的最大元素及其下标。#includestdio.hvoidmain(){inta[10]={-3,1,-5,4,9,0,-8,7,-6,2};inti,max,addr;max=a[0];addr=1;/*$ERROR1$*/i=1;while(i=10)/*$ERROR2$*/{if(maxa[i]){max=a[i];i=addr;/*$ERROR3$*/}i++;}printf(max=%d,address=%d\n,max,addr);}答案:(1)addr=0(2)while(i10)(3)addr=i程序填空题:从键盘输入两个正整数,输出他们的最大公约数。#includestdio.hvoidmain(){intm,n,r,t;printf(Inputtwonumber,please!\n);scanf(%d%d,___);/*$BLANK1$*/if(mn){t=m;m=n;___;/*$BLANK2$*/}while(n0){r=m%n;m=n;n=r;}printf(result=%d\n,___);/*$BLANK3$*/}答案:(1)&m,&n(2)n=t(3)m程序编写题:根据下列公式,计算A30的值(必须使用循环)A1=1,A2=1,A3=3/(A2+A1),A4=4/(A3+A2),....,A30=30/(A29+A28)输出格式:A30=7.235167#includestdio.hvoidPRINT(floatf){FILE*out;printf(A30=%f\n,f);if((out=fopen(K:\\24000123\\RESULT.DAT,w+))!=NULL)fprintf(out,A30=%f,f);fclose(out);}voidmain(){floata,b,s;inti;a=1;b=1;for(i=3;i=30;i++){s=i/(a+b);a=b;b=s;}PRINT(s);}试题五改错题:以下程序的功能是对学生的记录数据,统计不及格的人数并输出不及格学生的信息(说明:num域代表学号,name域代表姓名,score域代表成绩)。#includestdio.hstructstudent{intnum;charname[12];intscore;};voidmain(){studentstud[6]={{1001,PanDong,48},/*$ERROR1$*/{1002,ZhaoHua,62},{1003,HuLitai,93},{1004,ZhangLi,85},{1005,LiuMing,58},{1006,XinPeng,37}};inti,n=0;printf(num\tname\t\tscore\n);i=0;while(i6){if(score60)/*$ERROR2$*/{printf(%d\t%s\t%d\n,stud[i].num,stud[i].name,stud[i].score);n--;/*$ERROR3$*/}i++;}printf(n=%d\n,n);}答案:(1)structstudentstud(2)if(stud[i].score60)(3)n++程序填空题:将3*3的矩阵值(从键盘输入)存于数组a中,计算并输出该矩阵两条对角线元素的总和s。#includestdio.hvoidmain(){inta[3][3],i,j,s=0;printf(Inputarray:\n);for(i=0;i3;i++)for(j=0;j3;j++)scanf(%d,___);/*$BLANK1$*/for(i=0;i3;i++)for(j=0;j3;j++){if((i==j)___(i+j==2))/*$BLANK2$*/s+=___;/*$BLANK3$*/}printf(s=%d\n,s);}答案:(1)&a[i][j](2)||(3)a[i][j]程序编写题:根据下式求s的值(要求使用循环实现):s=1-2/3+3/5-4/7+5/9-6/11+....+49/97输出格式:s=1.23456#includestdio.hvoidPRINT(doubles){FILE*out;printf(s=%.4f\n,s);if((out=fopen(RESULT.DAT,w+))!=NULL)fprintf(out,s=%.4f,s);fclose(out);}voidmain(){inti,flag=1;doubles=0;for(i=1;i=49;i++){s+=flag*1.0*i/(2*i-1);flag=-flag;}PRINT(s);}试题六改错题:以下程序的功能是输入5名学生4门课的成绩,输出每门课的最高分。#includestdio.h#defineN5#defineM4voidmain(){inti,j;floatscore,firstscore,max;i=1;while(iM)/*$ERROR1$*/{printf(\nPleaseinputscoreofcourseno%d:,i);scanf(%f,firstscore);/*$ERROR2$*/max=firstscore;for(j=2;j=N;j++){scanf(%f,&score);if(scoremax
本文标题:省二级上机模拟考试题目及答案
链接地址:https://www.777doc.com/doc-2172309 .html