求输入一句英文,统计字母,数字,其他符号个数?数字部分如何输出!
#include<stdio.h>main()
{
int i=0,j=0,x=0;
char ch;
while((ch=getchar())!='\n')
{
scanf("%c",&ch);
if(ch>'A'&& ch<'z')
i++;
elseif(ch>0 && ch<9)
j++;
else
x++;
}
printf("字母数=%d\n数字数=%d\n其他符号数=%d\n",i,j,x);
}
本帖最后由 番杰 于 2021-11-28 09:51 编辑
#include<stdio.h>
int main(void)
{
int i=0,j=0,x=0;
char ch;
while((ch=getchar())!='\n')
{
if((ch >= 'A'&& ch <= 'Z') || (ch >= 'a'&& ch <= 'z'))
i++;
elseif(ch>='0' && ch<='9')//应该是和字符‘0’和‘9’进行比较,即它们对应的ASCII码值,而不是数值
j++;
else
x++;
}
printf("字母数=%d\n数字数=%d\n其他符号数=%d\n",i,j,x);
return 0;
} 番杰 发表于 2021-11-27 20:56
不单单输出数字数不出,连字母,其他符号,结果也会错{:5_99:} #include<stdio.h>
main()
{
int i=0,j=0,x=0;
char ch;
while((ch=getchar())!='\n')
{
if((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) i ++ ;
elseif(ch >= '0' && ch <= '9') j ++ ;
elsex ++ ;
}
printf("字母数 = %d\n 数字数 = %d\n 其他符号数 = %d\n" , i , j , x) ;
} 本帖最后由 小黄练编程 于 2021-11-27 21:54 编辑
jackz007 发表于 2021-11-27 21:23
我刚改了和这差不多,scanf删了,0和9都加了’ ‘ 还是错,为什么一用你的就对了,我瞅半天了,也没发现还改了哪里。 小黄练编程 发表于 2021-11-27 21:52
我刚改了和这差不多,scanf删了,0和9都加了’ ‘ 还是错,为什么你、一用你的就对了,我瞅半天 ...
还有字母也改了, 小黄练编程 发表于 2021-11-27 21:18
不单单输出数字数不出,连字母,其他符号,结果也会错
啊这,没看到前面的还有一个scanf();
去掉这个就行;
因为你while中:getchar()已经实现键盘输入的功能
页:
[1]