输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。下面是我的代码。

但是我运行代码的时候发现结果有点错误,但不知道哪里错了,各位高手帮忙指导一下~~
#include<stdio.h>
int main{
char ch;
int letter=0,i,blank=0,number=0,others=0
printf("请输入一串字符:");
scanf("%c",&ch);
while((ch=getchar())!='\n'
{
if('a'<=ch&&ch<='z'||'A'<=ch&&ch<='Z'
{
letter=letter++;
}
else if('0'<=ch&&ch<='9'
{
number=number++;
}
else if(ch==' ')
{
blank=blank++;
}
else
{
others=others++;
}
}
printf("英文字母、空格、数字、其他字符的个数分别为:%d,%d,%d,%d\n",letter,blank,number,others);
return 0;
}

#include<stdio.h>
int main() //main后面是有括号,main是一个函数
{
char ch;
int letter=0,i,blank=0,number=0,others=0; //语句结束是有分号的。
printf("请输入一串字符:");
//scanf("%c",&ch); //既然下面用getchar()获取,何必使用scanf多此一举呢??
while((ch=getchar())!= '\n') //注意括号的位置,而且括号一一对应,不能多个,少个。
{
if('a'<=ch && ch<='z' || 'A'<=ch && ch<='Z') //怎么都少半个括号,??
{
letter++;
}
else if('0'<=ch&&ch<='9')
{
number++;
}
else if(ch==' ')
{
blank++;
}
else
{
others++;
}
}
printf("英文字母、空格、数字、其他字符的个数分别为:%d,%d,%d,%d\n",letter,blank,number,others);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-22
#include<stdio.h>
int main{
char ch;
int letter=0,i,blank=0,number=0,others=0
printf("请输入一串字符:");
scanf("%c",&ch);
while((ch=getchar())!='\n'
{
if(('a'<=ch&&ch<='z')||('A'<=ch&&ch<='Z'))
{
letter++;
}
else if('0'<=ch&&ch<='9')
{
number++;
}
else if(ch==' ')
{
blank++;
}
else
{
others++;
}
}
printf("英文字母、空格、数字、其他字符的个数分别为:%d,%d,%d,%d\n",letter,blank,number,others);
return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网