浙江省高校计算机等级考试C程序设计上机模拟题.docx
- 文档编号:8012579
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:40
- 大小:26.77KB
浙江省高校计算机等级考试C程序设计上机模拟题.docx
《浙江省高校计算机等级考试C程序设计上机模拟题.docx》由会员分享,可在线阅读,更多相关《浙江省高校计算机等级考试C程序设计上机模拟题.docx(40页珍藏版)》请在冰豆网上搜索。
浙江省高校计算机等级考试C程序设计上机模拟题
浙江省高校计算机等级考试C程序设计上机模拟题
第三部分 C程序设计上机模拟题
(一) 上机修改题
1.在考生目录下,有Modify.c程序,该程序中”/******N******/”的下一行中
有错误,请改正(注意:
不得加行、减行、加句、减句,否则后果自负)。
该程序功能:
输入m、n(要求输入数均大于0),输出它们的最小公倍数
/*findtheleasecommonmultipleofmandn*/
#include
voidmain()
{ intm,n,k;
/****1*****/
while(scanf("%d%d",&m,&n),m<0&&n<0); // m<0||n<0
for(k=m;k%n!
=0;)
/*****2****/
k=k+m%n; // k=k+m
printf("%d\n",k);
}
2. 在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误,
请改正(注意:
不得加行、减行、加句、减句,否则后果自负)。
该程序功能:
运行时若输入a、n分别为3、6,则输出下列表达式的值:
3+33+333+3333+33333+333333
#include
voidmain()
{ inti,a,n,t=0;
/*****1*****/
s=0; //ints=0;
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++){
/*******2******/
t=t*10+i; //t=t*10+1;
s=s+t;
}
s=s*a;
printf("%d\n",s);
}
3. 在考生目录下,有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){ //n
s=s+n%10;
/********2******/
n=n%10; //n=n/10;
}
printf("%d\n",s);
}
4. 在考生目录下,有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(y[j]==x[i])break; if(j==ny){y[ny]=x[i];ny++;} } /*****2*****/ for(i=0;i<26;i++) //i printf("%c",y[i]); printf("\n"); } 5. 在考生目录下,有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; // t=-t*x/i++; s+=t; /*****2****/ }while(fabs(t)>=eps) // 少; printf("%f\n",s); } 6.在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下 一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 分别统计字符串中所有英文字母中的各元音字母个数。 #include #include voidmain() { chara[80];intn[5]={0},i; gets(a); for(i=0;a[i]! =’\0’;i++) /*****1*****/ switch(tolower(a+i)){ //switch(tolower(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]++;break; // ‘u’ } for(i=0;i<5;i++)printf("%d\n",n[i]); } 7.在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下 一行中有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负) 该程序功能: 输入n(0 如输入n为4, 则输出: 1 222 33333 4444444 #include voidmain() { inti,j,n; /*****1*****/ scanf("%d",n); // &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); // ‘\n’ } } 8.在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中 有错误,请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 运行时输入10个数,然后分别输出其中的最大值、最小值。 #include voidmain() { floatx,max,min; /********1*******/ for(inti=1;i<=10;i++) { //C中不能这样用,改为: inti;for(i=1;i<=10;i++) scanf("%f",&x); /*******2********/ if(i=1){max=x;min=x;} // i==1 if(x>max)max=x; if(x } printf("%f,%f\n",max,min); } 9.在考生目录下,有Modify.c程序,该程序中"/*****N*****/"的下一行中有错误, 请改正(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 运行时输入n,输出n的所有质数因子(如n=13860,则输出2、2、3、3、 5、7、11)。 #include voidmain() { intn,i; scanf("%d",&n); /******1******/ i=1; // i=2; while(n>1) if(n%i==0) { printf("%d\t",i);n/=i;} else /********2*******/ n--; // i++; } 10.在考生目录下,有Modify.c程序,该程序中“/*****N*****/”的下一行中有错误, 请改正(注意: 不得加行、减//行、加句、减句,否则后果自负)。 该程序功能: 输入n以及小于n个字符的字符串,将字符串中所有小写字母改为相应的 大写字母后,输出该字符串。 #include #include #include voidmain() { intn,i; /*****1*****/ charstr; // char*str scanf("%d\n",&n); str=(char*)malloc(n);gets(str); /*****2*****/ for(i=1;i if(str[i]>='a'&&str[i]<='z') str[i]=str[i]-32; puts(str); } (二) 上机填充题 1.在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要 填充部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入m、n(要求输入数均大于0),输出它们的最大公约数。 #include voidmain() { intm,n,k; while(scanf("%d%d",&m,&n);____1___); // m<0||n<0 for(____2____; n%k! =0||m%k! =0; k--); // k=m m: n printf("%d\n",k); } 2.在考生目录下,有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 ; //m=m/10 } if(n>=0)returny; else 2 ; // return(-y); } voidmain() { printf("%d\t",f(12345)); printf("%d\n",f(-34567)); } 3. 在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充 部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入1个整数后,输出该数的位数若输入3214则输出4,输入-23156 则输出5)。 #include voidmain() { intn,k=0; scanf("%d",&n); while( 1 ){ // n%10 k++; 2 ; //n=n/10 } printf("%d\n",k); } 4.在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充 部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 运行时输出下列结果。 abcdefg abcde abc a #include voidmain() { inti,j;chark; for(i=1;i<=4;i++) { for(j=1;j 1 ; // k=’a’ for(j=9-2*i;j>0;j--) { k=(char)k++; printf(“%c”, 2 ); // k-1 } putchar('\n'); } } 5.在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充 部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入整数n(n>0)求m,使得2的m次方小于或等于n、2的m+1次方大于或等于n。 #include voidmain() { inti=0,t=1,n; while(_____1________); // scanf(“%d”,&n), n<=0 while(! (t<=n&&t*2>=n)) { _____2_____ // t=t*2; i++; } printf("%d\n",i); } 6.在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充 部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。 #include #include #define f(x) x*x-5*x+sin(x) voidmain() //运行结果: 49.455978 { inti;floatmax; _____1_____ // max=f (1); for(i=2;i<=10;i++) ______2______ // if(f(i)>max) max=f(i); printf("%f\n",max); } 7.在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充 部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 函数f除去数组中的负数,输出结果为: 1 3 4 6 #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_____; // *m=*m-1; } } voidmain() { inti,n=7,x[7]={1,-2,3,4,-5,6,-7}; _______2_______; // f(x,&n); for(i=0;i printf("%5d",x[i]); printf("\n"); } 8. 在考生目录下,有Modify.c程序,该程序中"____N____"是根据程序功能需要填充 部分,请完成程序填充(注意: 不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入n和平面上n个点的坐标,计算各点间距离的总和。 #include #include #definef(x1,y1,x2,y2)sqrt(pow(x2-x1,2)+pow(y2-y1,2)) 1 //#include voidmain() { float*x,*y,s=0;inti,j,n;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江省 高校 计算机等级考试 程序设计 上机 模拟