096省考2C改错题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“2c考试题附答案”。
第二部分:改错题(每题10分,2题/套,共20分)
说明如下:
(1)修改程序中每对“/**/”之间存在的错误;(2)不得删改程序中的“/**/”注释和其它代码;
(3)源程序均在考生文件夹中,务必以原文件名保存程序;(3)按Alt+Tab键,切换考试程序与Turbo C;按Alt+Enter键,切换Turbo C窗口大小。
第1套
1.程序Cmody011.C的功能是:从字符串数组str1中取出ASCII码值为偶数且下标为偶数的字符依次存放到字符串t中。
例如,若str1所指的字符串为:4AZ18c?Ge9a0z!
则t所指的字符串为:4Z8z
注意:数组下标从0开始。
2.程序Cmody012.C中,函数fun(int n)的功能是:根据参数n,计算大于10的最小n个能被3整数的正整数的倒数之和。例如:
fun(8)1121151181211330.396
----------Cmody011.C-------------------#include #include #include #include void main(){ char str1[100], t[200];
int i, j;/**/ i = 0;/**/
clrscr();
strcpy(str1, “4AZ18c?Ge9a0z!”);
for(i = 0;i
{
/**/ if((str1[i] %2== 0)&&(i%2!=0))/**/
{
t[j] = str1[i];
j++;
}
}
t[j] = ' ';
printf(“n Original string: %sn”, str1);
printf(“n
Result string: %sn”, t);}
----------Cmody012.C-------------------#include #include #include #include #define M 50 double fun(int n){ double y = 0.0;
int i,j;
j=0;
for(i=1;;i++)
{
/**/ if((i
{
/**/ y+=1/i;/**/
j++;
}
if(j==n)break;
}
return y;} void main(){ clrscr();
printf(“fun(8)= %8.3lfn”, fun(8));} 第2套
1.程序Cmody021.C输出如下所示图形:
* * * * * * * * * * * * * * * * * * * * * * * * *
2.程序Cmody022.C的功能是求解百元买百鸡问题:
设一只公鸡2元、一只母鸡1元、一只小鸡0.5元。问一百元买一百只鸡,公鸡、母鸡、小鸡数可分别为多少?有多少种分配方案?
----------Cmody021.C-------------------#include void main(){ /**/ int i;j;/**/
for(i=1;i
{
for(j=1;j
printf(“* ”);
printf(“n”);
} }----------Cmody022.C-------------------#include #include /**/int fun();/**/ { int hen,cock,chicken,n=0;
clrscr();
for(cock=0;cock
for(hen=0;hen
{ chicken=2*(100-hen-2*cock);
/**/ if(cock+hen+chicken=100)/**/
{ n++;
printf(“%d-->hen:%d,cock:%d,chicken:%dn”,n,hen,cock,chicken);
if(n==20)getch();
}
}
return n;} void main(){ int num;
num=fun();
printf(“n There are %d solutions.n”,num);
getch();} 第3套
1.程序Cmody031.C的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或%),进行相应的运算后输出运算的结果。
如输入:1+2 将输出:1+2=3 2.程序Cmody032.C的功能是:输出201-300之间的所有素数,统计总个数。
----------Cmody031.C-------------------#include #include void main(){ int m,n,result,flag=0;/**/ char ch, /**/
clrscr();
printf(“Input an expreion: ”);
scanf(“%d%c%d”,&m,&ch,&n);/**/ switch ch /**/
{ case '+': result=m+n;break;
case '-': result=m-n;break;
case '*': result=m*n;break;
case '%': result=m%n;break;
case '/': result=m/n;break;
default: { printf(“Error!n”);flag=1;}
}
if(!flag)printf(“%d %c %d = %dn”,m,ch,n,result);
getch();}----------Cmody032.C-------------------#include #include void main(){ int num;
printf(“n”);
num=fun();
printf(“nThe total of prime is %d”,num);
getch();} int fun(){ int m,i,k,n=0;
for(m=201;m
{ k=sqrt(m+1);
for(i=2;i
break;/**/ if(i==k)/**/
{ printf(“%-4d”,m);
n++;;
if(n%10==0)printf(“n”);
}
}
return n;} 第4套
1.程序Cmody041.C,其功能是统计输入字符串中小写英文字母的个数。
如
输入:abcdEFGHIJK123
输出:4 2.程序Cmody042.C,其功能是将从键盘依次输入的M个整数逆序输出。
如
输入:12 4 656 83 25 35 76 29
输出:29 76 35 25 83 656 4 12----------Cmody041.C-------------------
#include #include main(){
char str1[128];/**/ int i;len, sum=0;/**/
gets(str1);
len = strlen(str1);
for(i=0;i
{
/**/ if(str1[i] >= 'a' || str1[i]
sum++;
}
printf(“%dn”,sum);
getch();}----------Cmody042.C-------------------#include #include #define M 8 main(){ int a[M],i;
printf(“Please input 8 numbers:n”);
for(i=0;i
scanf(“%d”, /**/ a[i] /**/);
printf(“Inverse order is: n”);/**/ for(i=M-1;i
printf(“%d
”, a[i]);
printf(“n”);
getch();} 第5套
1.程序Cmody051.C,其功能是统计输入字符串中大写英文字母的个数。
如
输入:abcDEFGH123
输出:5 2.程序Cmody052.C,其功能是实现从键盘依次输入M个整数,输出其中所有的偶数。
如
输入:23 62 38 45 26
输出:62 38 26----------Cmody051.C-------------------#include #include main(){
/**/ char str1 /**/;
int i,len, sum=0;
printf(“Please input a string:n”);
scanf(“%s”, str1);
len = strlen(str1);
for(i=0;i
{
if(str1[i] >= 'A' && str1[i]
/**/ sum--;/**/
}
printf(“%dn”,sum);
getch();}----------Cmody052.C-------------------#include #include /**/ #include
M 5
/**/ main(){
int a[M],i;
printf(“Please input 5 numbers:n”);
for(i=0;i
scanf(“%d”, &a[i]);
printf(“Even numbers:n”);
for(i=0;i
/**/
printf(“%d ”, a[i]);
printf(“n”);
getch();} 第6套
1.程序Cmody061.C,其功能是将输入字符串中‘0’~‘8’的数字字符变为比它大1的数字字符,将‘9’变为‘0’。
如
输入:abc12cd56EF89GH4
输出:abc23cd67EF90GH5 2.程序Cmody062.C,其功能是将程序中的两个字符串“ABC”、“xyz”连接在一起,并输出“ABCxyz”。
----------Cmody061.C-------------------#include #include main(){
char str1[128], str2[128];
int i,len;
gets(str1);
len = strlen(str1);/**/
for(i=0;i>len;i++)/**/
{
if(str1[i] >= '0' && str1[i]
str2[i] = str1[i] + 1;
else if(str1[i] == '9')
str2[i] = '0';
else
str2[i] = str1[i];
} /**/ str2[i] = 'n';/**/
puts(str2);
getch();}----------Cmody062.C-------------------#include #include void main(){
char s1[12]=“ABC”, s2[]=“xyz”;
char * ps1=s1,*ps2;/**/ ps2 = NULL;/**/ /**/ while(*ps1 == NULL)/**/
ps1++;
while(*ps2)*(ps1++)= *(ps2++);
printf(“%sn”,s1);
getch();}
第7套
1.程序Cmody071.C,其功能是从键盘输入三角形的三边长,求其面积,若三个边长不能构成三角形,则提示。
如
输入:6 9 11
输出:26.98 2.程序Cmody072.C,其功能是求解百马百担问题。
有100匹马,驮100担货,大马驼3担,中马驼2担,两匹小马驮1担,问大、中、小马数可分别为多少?有多少种解决方案?
----------Cmody071.C-------------------#include #include void main(){
float a[3],s,area;
int i;
printf(“Please input 3 numbers:n”);
for(i=0;i
scanf(“%f”,/**/ a[i] /**/);/**/ if(a[0]+a[1]>a[2] || a[1]+a[2]>a[0] || a[0]+a[2]>a[1])/**/
{
s =(a[0]+a[1]+a[2])/2;
area = sqrt(s*(s-a[0])*(s-a[1])*(s-a[2]));
printf(“area is %.2fn”,area);
}
else
printf(“error.n”);
getch();}----------Cmody072.C-------------------#include #include /**/ void fun()/**/ {
int large,middle,small,n=0;
clrscr();
for(large=0;large
for(middle=0;middle
{
small = 2*(100-3*large-2*middle);
/**/ if(large+middle+small=100)/**/
{
n++;
printf(“%d-->large:%d,middle:%d,small:%dn”,n,large,middle,small);
}
}
return n;} void main(){
int num;
num = fun();
printf(“n There are %d solutions.n”,num);
getch();} 第8套
1.程序Cmody081.C,其功能是求一堆零件的总数(100到200之间)。
如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。
2.程序Cmody082.C,其功能是交换两个变量的值。如输入:2 3
输出:Original: a=2 b=3
Result: a=3 b=2----------Cmody081.C-------------------#include void main(){
int i;
/**/ for(i=100;i
if((i-2)%4 == 0)
if(!((i-3)%7))
if(i%9 == 5)
printf(“%dn”,/**/ &i /**/);
getch();}----------Cmody082.C-------------------#include #include /**/ void swap(int p1,int p2)/**/ {
int temp;
temp = *p1;
/**/ p1 = p2;/**/
*p2 = temp;} void main(){
int a,b;
printf(“please input 2 numbers:n”);
scanf(“%d%d”,&a,&b);
printf(“nOriginal: a=%d b=%dn”,a,b);
swap(&a,&b);
printf(“nResult: a=%d b=%dn”,a,b);
getch();} 第9套
1.程序Cmody091.C,其功能是计算1至100之间的奇数之和,偶数之和。
2.程序Cmody092.C的功能是求满足等式xyz+yzz=520的x,y,z值(其中xyz和yzz分别表示一个三位数)。
----------Cmody091.C-------------------#include void main(){
int b,i;/**/ int a=c=0;/**/ /**/ for(i=0,i
{
a+=i;
b=i+1;
c+=b;
}
printf(“total of even numbers: %dn”,a);
printf(“total of odd numbers: %dn”,c-101);
getch();}----------Cmody092.C-------------------#include void main(){
int x,y,z,i,result=520;
for(x=1;x
for(y=1;y
/**/ for(z=1;z
{
i=100*x+10*y+z+100*y+10*z+z;
/**/ if(i=result)/**/
printf(“x=%d,y=%d,z=%dn”,x,y,z);
}
getch();} 第10套
1.程序Cmody101.c,其功能是计算如下所示的数学表达式:
s=a2.3a5.6a8.22+
b2.3b5.6b8.22--c2.3c5.6c8.22
2.程序Cmody102.c,其功能是实现打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。
----------Cmody101.c-------------------
#include #define F(x)(x*x-2.3*x+5.6)/(x+8.2)void main(){
float a=6.0,b=3.0,c;
/**/ int s;/**/
printf(“nPlease input c: ”);
scanf(“%f”,/**/ c /**/);
/**/ s=F(a,b,c);/**/
printf(“ns=%.2fn”,s);
getch();}----------Cmody102.c-------------------
#include void main(){
int f,s,t,n;
printf(“nThe list is:n”);
for(n=100;n
{
f=n%10;
s=(n%100)/10;
/**/t=n%100;/**/
/**/if(t*t*t+s*s*s+f*f*f=n)/**/
printf(“%d
”,n);
}
printf(“n”);
getch();} 第11套
1.程序Cmody111.c,输出如下所示图形:
@
@@ @@@ @@@@ @@@@@ @@@@@@ Cmody112.c,实现输出如下所示的4×4的矩阵: 2 3 4 7 6 5 10 11 12 2.程序 1 8 9 16 15 14 13----------Cmody111.c-------------------
#include #include void main(){
/**/ int i;j;/**/
/**/ for(i=6;i>1;i--)/**/
{
printf(“@”);
for(j=1;j
printf(“@”);
printf(/**/ “r” /**/);
}
getch();}----------Cmody112.c-------------------
#include #include #define N 4 void init(int a[N][N]){int i,j;for(i=0;i
for(j=0;j
{if(i%2==0)
/**/ a[i][j]=i+j+1;/**/
else
a[i][j]=i*N+N-j;
} } main(){ /**/ int a[N,N];/**/
int i,j;
init(a);
for(i=0;i
{for(j=0;j
printf(“%3d”,a[i][j]);
printf(“n”);
}
getch();}
第12套
1.程序Cmody121.C,统计1~100之间的整数中含有数字3或5的整数的个数。
2.程序Cmody122.C 中函数void chg(char *s),实现将字符串中所有偶数位置上的小写 英文字母转换为大写英文字母(不是英文字母不转换)。
----------Cmody121.C-------------------#include main(){
int i,gw,sw,count=0;
for(i=1;i
{
sw=i/10;
/**/ gw=i-sw;/**/
/**/ if((gw==3 || gw==5)&&(sw==3 ||sw==5))/**/
count++;
}
printf(“nThe count of 1-100:%d”,count);
getch();}----------Cmody122.C-------------------#include void chg(char *s){int i,n=0;char *p=s;while(*p)
{n++;
p++;
} for(i=0;i='a' && s[i]
s[i]=s[i]-32;/**/ s[i]='0';/**/ } void main(){
char [100];
printf(“Enter string: n”);
gets();
chg();
printf(“nNow string is :n”);
puts();
getch();}
/**/