浙江计算机二级C语言程序设计上机题.docx
- 文档编号:6173969
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:21
- 大小:21.22KB
浙江计算机二级C语言程序设计上机题.docx
《浙江计算机二级C语言程序设计上机题.docx》由会员分享,可在线阅读,更多相关《浙江计算机二级C语言程序设计上机题.docx(21页珍藏版)》请在冰豆网上搜索。
浙江计算机二级C语言程序设计上机题
一.字符:
改错1在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:
不得加行、减行、加句、减句,否则后果自负)。
该程序功能:
调用函数f,从字符串中删除所有的数字字符。
#include
#include
#include
voidf(char*s)
{inti=0;
while(s[i]!
='\0')
if(isdigit(s[i]))____1____(s+i,s+i+1);
___2___i++;
}
voidmain()
{charstr[80];
gets(str);f(str);puts(str);
}
改错2在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,请改正(注意:
不得加行、减行、加句、减句,否则后果自负)。
该程序功能:
输入1个字符串,输出其中所出现过的大写英文字母。
如运行时输入字符串"FONTNAMEandFILENAME",应输出"FONTAMEIL"。
#include
voidmain()
{charx[80],y[26];inti,j,ny=0;
gets(x);
for(i=0;x[i]!
='\0';i++)
if(x[i]>='A'&&x[i]<='Z'){
for(j=0;j /*****1*****/ if(y[i]==x[j])continue; if(j==ny){y[ny]=x[i];ny++;} } /*****2*****/ for(i=0;i<26;i++) printf("%c",y[i]); printf("\n"); } 改错3在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 分别统计字符串中所有英文字母中的各元音字母个数。 #include #include voidmain() {chara[80];intn[5]={0},i;gets(a); for(i=0;a[i]! ='\0';i++) /*****1*****/ switch(toupper(a[i])){ case'a': n[0]++;break; case'e': n[1]++;break; case'i': n[2]++;break; case'o': n[3]++;break; /*****2*****/ case'U': n[4]++; } for(i=0;i<5;i++)printf("%d\n",n[i]); } 改错4在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 调用函数f,将字符串中的所有字符逆序存放,然后输出。 例如,输入字符串为"123456",则程序的输出结果为"654321"。 #include #include voidmain() {chars[60],*f(char*); gets(s);printf("%s\n",f(s)); } ___1__f(char*x) {chart;inti,n; _______2______ for(i=0;i returnx; } 二、数学问题: 改错5在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当x=1.7时的值。 #include floatf(float,float*,int); voidmain() {floatb[5]={1.1,2.2,3.3,4.4,5.5}; printf("%f\n",f(1.7,b,5)); } floatf(_______1________) {floaty=a[0],t=1;inti; for(i=1;i _____2_____ } 改错6在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输出6~1000之间的完数(1个数的因子和等于其自身的数: 6=1+2+3、28=1+2+4+7+14,则6、28都是完数)。 #include voidmain() {inti,j,s; for(i=6;i<=1000;i++){ _____1_____ for(j=2;____2_____;j++)if(i%j==0)s+=j; if(s==i)printf("%d\n",s); } } 改错7在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入n和平面上n个点的坐标,计算各点间距离的总和。 #include #include #definef(x1,y1,x2,y2)sqrt(pow(x2-x1,2)+pow(y2-y1,2)) _______1_________ voidmain() {float*x,*y,s=0;inti,j,n; scanf("%d",&n); x=(float*)malloc(sizeof(float)*n*2); y=x+____2___; for(i=0;i for(i=0;i for(j=i+1;j printf("%.2f\n",s); } 改错8在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 运行时输入n,输出n各位数字之和(如n=1308则输出12,n=-3204则输出9)。 #include #include voidmain() {intn,s=0; scanf("%d",&n); n=fabs(n); /********1*******/ while(n>1){ s=s+n%10; /********2******/ n=n%10; } printf("%d\n",s); } 改错9在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 调用函数f用以求1元2次方程x*x+5*x-2=0的实根。 #include #include intf(floata,floatb,floatc,float*x1,float*x2) {if(b*b-4*a*c<0)____1____; *x1=(-b+sqrt(b*b-4*a*c))/2/a; *x2=(-b-sqrt(b*b-4*a*c))/2/a; return0; } voidmain() {floatu1,u2;floata=1,b=5,c=-2; if(________2_________)printf("实数范围内无解\n"); elseprintf("%.2f%.2f\n",u1,u2); } 改错10在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入x、eps,计算多项式1-x+x*x/2! -x*x*x/3! +...的和直到末项的绝对值小于eps为止。 #include #include voidmain() {floatx,eps,s=1,t=1,i=1; scanf("%f%f",&x,&eps); do{ /*****1*****/ t=-t*x/++i; s+=t; /*****2*****/ }while(fabs(t)>=eps) printf("%f\n",s); } 改错11在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。 #include #include #definef(x)x*x-5*x+sin(x) voidmain() {inti;floatmax; _____1_____ for(i=2;i<=10;i++) ___________2___________ printf("%f\n",max); } 改错12在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 运行时输入n,输出n的所有质数因子(如n=13860,则输出2、2、3、3、5、7、11)。 #include voidmain() {intn,i; scanf("%d",&n); /******1******/ i=1; while(n>1) if(n%i==0) {printf("%d\t",i);n/=i;} else /********2*******/ n--; } 改错13在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入m、n(要求输入数均大于0),输出它们的最小公倍数。 #include voidmain() {intm,n,k; /********1*********/ while(scanf("%d%d",&m,&n),m<0&&n<0); for(k=m;k%n! =0;) /********2********/ k=k+n; printf("%d\n",k); } 三、数组: 改错14在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 函数f去除数组中的负数,输出结果为: 1346 #include voidf(int*a,int*m) {inti,j; for(i=0;i<*m;i++) if(a[i]<0){ for(j=i--;j<*m-1;j++)a[j]=a[j+1]; _____1_____; } } voidmain() {inti,n=7,x[7]={1,-2,3,4,-5,6,-7}; _______2_______; for(i=0;i printf("\n"); } 改错15在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 调用函数f,求二维数组a中全体元素之和。 #include floatf(_______1_______) {floaty=0;inti,j; for(i=0;i returny; } voidmain() {floata[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},*b[3]; inti; for(i=0;i<3;i++)b[i]=___2___; printf("%.2f\n",f(b,3,4)); } 改错16在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 调用函数f,求a数组中最大值与b数组中最小值之差。 #include floatf(float*x,intn,intflag) {floaty;inti; ____1____ for(i=1;i returny; } voidmain() {floata[6]={3,5,9,4,2.5,1},b[5]={3,-2,6,9,1}; printf("%.2f\n",f(a,6,1)-____2_____); } 改错17在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 运行时输出下列结果。 654321 543210 432100 321000 210000 100000 #include voidmain() {inti,j,a[6][6]={{0}}; for(i=0;i<6;i++) for(j=0;j<6-i;j++) /********1*******/ a[i][j]=6-j-i; for(i=0;i<6;i++){ for(j=0;j<6;j++)printf("%3d",a[i][j]); /*******2******/ printf('\n'); } } 四、循环: 改错18在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 运行时输入10个数,然后分别输出其中的最大值、最小值。 #include voidmain() {floatx,max,min; /********1*******/ for(i=1;i<=10;i++){ scanf("%f",&x); /*******2********/ if(i=1){max=x;min=x;} if(x>max)max=x; if(x } printf("%f,%f\n",max,min); } 改错19在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入1个整数后,输出该数的位数(若输入3214则输出4,输入-23156则输出5)。 #include voidmain() {intn,k=0; scanf("%d",&n); while(____1____){ k++; _____2_____; } printf("%d\n",k); } 改错20在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入n(0 如输入n为4,则输出: 1 222 33333 4444444 #include voidmain() { inti,j,n; /*********1********/ scanf("%d",n); for(i=1;i<=n;i++){ for(j=1;j<=n+1-i;j++)putchar(''); for(j=1;j<=2*i-1;j++) putchar((char)(i+48)); /********2********/ putchar(\n); } } 改错21在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 运行时若输入a、n分别为3、6,则输出下列表达式的值: 3+33+333+3333+33333+333333 #include voidmain() {inti,a,n,t=0; /*********1*******/ s=0; scanf("%d%d",&a,&n); for(i=1;i<=n;i++){ /*******2******/ t=t*10+i; s=s+t; } s=s*a; printf("%d\n",s); } 改错22在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 运行时输出下列结果。 a abc abcde abcdefg #include voidmain() {inti,j; for(i=1;i<=4;i++){ for(j=1;j<=4-i;j++)putchar(''); for(______1________)putchar((char)('a'-1+j)); _______2________ } } 改错23在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 运行时输出下列结果。 abcdefg abcde abc a #include voidmain() {inti,j;chark; for(i=1;i<=4;i++){ for(j=1;j _______1______ for(j=9-2*i;j>0;j--){ k=(char)k++; ______2_______ } putchar('\n'); } } 改错24在考生目录下,有Modify2.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 函数f将数组循环左移k个元素,输出结果为: 4567123 #include voidf(int*a,intn,intk) {inti,j,t; for(i=0;i ___1___; for(_______2________)a[j-1]=a[j]; a[n-1]=t; } } voidmain() {inti,x[7]={1,2,3,4,5,6,7}; f(x,7,3); for(i=0;i<7;i++)printf("%5d",x[i]);printf("\n"); } 改错25在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 函数f将1个整数首尾倒置,程序输出结果应为"54321-76543"。 #include #include intf(intn) {intm,y=0;m=fabs(n); while(m! =0){ y=y*10+m%10; ____1____ } if(n>=0)returny; else_____2_____ } voidmain() {printf("%d\t",f(12345));printf("%d\n",f(-34567)); } 程序设计1/*程序设计题: x[i],y[i]分别表示平面上1个点的x、y坐标,求下列5点各点间距离总和,并将该数以格式"%.4f"写到考生目录下新建文件design.dat。 */ #include #include voidmain() {FILE*p;floats,x[5]={-1.5,2.1,6.3,3.2,-0.7}; floaty[5]={7,5.1,3.2,4.5,7.6};inti,j; //此处起要求考生自己编制程序 程序设计2/*程序设计题: 在正整数中找出1个最小的、被3、5、7、9除余数分别为1、3、5、7的数,将该数以格式"%d"写到考生目录下新建文件design.dat。 */ #include #include voidmain
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江 计算机 二级 语言程序设计 上机