全国计算机等级考试二级 C 语言程序设计上机高频考题 (一) 上机修改题 1. 在考生目录下,有Modify.c 程序,该程序中”/******N******/”的下一行中 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:输入 m、n(要求输入数均大于 0),输出它们的最小公倍数 /*find the lease common multiple of m and n*/ #include void main() { int m,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 void main() { int i,a,n,t=0; /***** 1 *****/ s=0; // int s=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 void main() { int n,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 个字符串,输出其中所出现过的大写英文字母。如运行时 输入字符串"FONTNAME and FILENAME",应输出"F O N T A M E I L"。 #include void main() { char x[80],y[26]; int i,j,ny=0; gets(x); for(i=0;x[i]!='\0';i++) if(x[i]>='A'&&x[i]<='Z') { for(j=0;j