C改错题[定稿]_c改错题
C改错题[定稿]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c改错题”。
改错题:
1.程序Cmody 041.c,其功能是统计输入字符串中大小写字母的个数,如输入:abcdEFGHIJK 123
输出:4 答案:
#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();} 2.程序Cmody 042.c,其功能是将从键盘依次输入的M个整数逆序输出.如,输入:12 4 656 83 25 35 76 29
输出:29 76 35 25 83 656 4 12 答案:
#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>=0;i--)/**/
printf(“%d ”, a[i]);
printf(“n”);
getch();} 3.程序Cmody 012.c中函数fun(int n)的功能是:根据参数n,计算大于10的最小n个能被3整除的正整数之和.例如:
fun(8)=答案: 1121151181211330.396 #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>10)&&(i%3==0))/**/
{
/**/ y+=1.0/i;/**/
j++;
}
if(j==n)break;
}
return y;} void main(){ clrscr();
printf(“fun(8)= %8.3lfn”, fun(8));} 4.程序cmody031.C的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或%),进行程序相应的运算后输出运算的结果。
如输入:1+2 将输出:1+2=3 答案:
#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();} 5.程序cmody032.C的功能是:输出201~300之间的所有素数,统计总个数。答案:
#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;} 6.程序cmcdy051.c,其功能是统计输入字符串中大写类英文字母的个数。
如输入:abcDEFGH123,输出:5 答案:
#include #include main(){
/**/ char str1[255] /**/;
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();} 7.程序cmody052.c,其功能是实现从键盘依次输入M个整数,输出其中所有的偶数。如输入:23
45
输出:62
38答案:
#include #include /**/ #define
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();}
?8.程序cmody 021.c输出如下所示图形
********************
*****答案:
#include void main(){ /**/ int i,j;/**/
for(i=1;i
{
for(j=1;j
printf(“ ”);/**/ for(j=1;j
printf(“* ”);
printf(“n”);
} } 9.程序cmody 022.c的功能是求解百元买百鸡问题:
设一只公鸡2元,一只母鸡1元,一只小鸡0.5元。问一百元买一百只鸡、公鸡、母鸡、小鸡数可分别为多少?有多少种分配方案? 答案:
#include #include /**/int fun()/**/ { int hen,cock,chicken,n=0;
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();}
10、程序cmody061.c功能输入字符串‘0~8’的数字字符比它大1的数字字符将‘9’变为‘0’。如输入:a b 1 2 c d 5 6 E F 8 9 G H 4
a b 2 3 c d 6 7 E F 9 0 G H 5 答案:
#include #include main(){
char str1[128], str2[128];
int i,len;
gets(str1);
len = strlen(str1);/**/
for(i=0;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] = ' ';/**/
puts(str2);
getch();}
11、程序cmody062.c功能将程序中两个字符串“ABC”、“xyz”连接在一起并输出ABCxyz 答案:
#include #include void main(){
char s1[12]=“ABC”, s2[]=“xyz”;
char * ps1=s1,*ps2;/**/
ps2 = s2;
/**/ /**/ while(*ps1!= ' ')/**/
ps1++;
while(*ps2)*(ps1++)= *(ps2++);
printf(“%sn”,s1);
getch();}
12、程序cmody011.c的功能是:从字符串数组str1中取出ASCII码值为偶数且下标为偶数的字符依次存放到字符串中。
eg:若str1所指的字符串为:4AZ18C?Ge9a0z!
则t所指的字符串为:4ZBZ 答案:
#include #include #include #include void main(){ char str1[100], t[200];
int i, j;/**/ j = 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);}