这是最简单的英文:请高手帮我看下怎么改正这个程序。。。

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 12:21:22
要求输入0-4的数字,然后统计0-4的个数,-1为输入结束标志,大家帮我下。。。

#include <stdio.h>
void main()
{ int s[5],i;
for(i=0;i<5;i++)
s[i]=0;
while(getchar()!=-1)
{ switch(getchar())
{ case 0: s[0]++;break;
case 1: s[1]++;break;
case 2: s[2]++;break;
case 3: s[3]++;break;
case 4: s[4]++;break;
}
}
for(i=0;i<5;i++)
printf("%d:%d\n",i,s[i]);
}

楼上是不是问为什么要改成getchar(ch)
这个是从键盘输入一个字符,getchar获取它,然后把它存到ch,getchar(ch)的值就是ch的值

break不用换,换case 0,case 1,case 2...后面的数字换成case '0',case '1'...加个单引号
因为你的ch是用getchar输入的,这样获得的是一个字符(比如你输入的是1,那么ch中存的是字符'1'的ASCII码。)

#include <stdio.h>
void main()
{ int s[5],i;
char ch;
for(i=0;i<5;i++)
s[i]=0;
while(getchar(ch)!=-1)
{ switch(ch)
{ case 0: s[0]++;break;
case 1: s[1]++;break;
case 2: s[2]++;break;
case 3: s[3]++;break;
case 4: s[4]++;break;
}
}
for(i=0;i<5;i++)
printf("%d:%d\n",i,s[i]);
}

break换成continue

break改成continue

那么,~~~ CH怎么理解呢~~这么改,要怎么改呢~~~