C改错题[定稿]_c改错题

2020-02-29 其他范文 下载本文

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)=答案: 1121151181211330.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);}

《C改错题[定稿].docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C改错题[定稿]
点击下载文档
相关专题 c改错题 定稿 改错题 c改错题 定稿 改错题
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文