用c语言统计输入空格字符数字的个数
#include "stdio.h"
void main()
{int x=0,c=0,b=0,n=0,k=0;
while (x!='\n')
{x=getchar();
if (48<=x&&x<=57) c++;
else if (65<=x&&x<=90||97<=x&&x<=122) k++;
else if (x==32) b++;
else n++;
}
printf("共有%d个数字\n%d个字母\n%d个字符\n%d个空格",c,k,n,b);
}帮我看下这为什么每次都会多出了一个字符的啊
结束的回车被计算了一碰缺次,才到while那里判断并凯吵雀推出。
改为:
void
main()
{int
x=0,c=0,b=0,n=0,k=0;
x=getchar();
while
(x!='\n')
{
if
(48<=x&&x<=57)
c++;
else
if
(65<=x&&x<=90||97<=x&&x<=122)
k++;
else
if
(x==32)
b++;
else
n++;
x=getchar();
}
printf("共有%d个数字\n%d个字母\n%d个字符\n%d个空格盯早",c,k,n,b);
}
结束闹闭链的回车被计算了一次,才到while那里判断态芦并液孙推出。
改为:
void main()
{int x=0,c=0,b=0,n=0,k=0;
x=getchar();
while (x!='\n')
{
if (48<=x&&x<=57) c++;
else if (65<=x&&x<=90||97<=x&&x<=122) k++;
else if (x==32) b++;
else n++;
x=getchar();
}
printf("共有%d个数字\n%d个字母\n%d个字符\n%d个空格",c,k,n,b);
}
结束的回车被计算了一碰缺次,才到while那里判断并凯吵雀推出。
改为:
void
main()
{int
x=0,c=0,b=0,n=0,k=0;
x=getchar();
while
(x!='\n')
{
if
(48<=x&&x<=57)
c++;
else
if
(65<=x&&x<=90||97<=x&&x<=122)
k++;
else
if
(x==32)
b++;
else
n++;
x=getchar();
}
printf("共有%d个数字\n%d个字母\n%d个字符\n%d个空格盯早",c,k,n,b);
}
结束的回车被计算了一碰缺次,才到while那里判断并凯吵雀推出。
改为:
void
main()
{int
x=0,c=0,b=0,n=0,k=0;
x=getchar();
while
(x!='\n')
{
if
(48<=x&&x<=57)
c++;
else
if
(65<=x&&x<=90||97<=x&&x<=122)
k++;
else
if
(x==32)
b++;
else
n++;
x=getchar();
}
printf("共有%d个数字\n%d个字母\n%d个字符\n%d个空格盯早",c,k,n,b);
}