- 论坛徽章:
- 0
|
题目是这样的:输入一串字符,然后统计字符中的字母,数字,空格和其他字符的个数,分别打印出来
问题出在“空格”上,统计字母,数字都没有问题,但是当我键入“¥#@#”时,却被当作空格统计了,显示有四个空格,
而不是四个特殊字符,请问这是怎么回事呢?我女朋友考二级,这是她写的程序,请高手指教,谢谢大家!
以下是程序的源代码:
#include<stdio.h>
void main()
{
char ch;
int m,n,x,y;
m=0;n=0;x=0;y=0;
printf("please input several characters:\n");
/*scanf("%s",&ch);*/
while((ch=getchar())!='\n')
{
if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')) {
m++;
printf("m:%d\n",m);
}
if(ch>='0'&&ch<='9'){
n++;
printf("n:%d\n",n);
}else if(ch=' '){
x++;
printf("x:%d\n\40\40",x);
}else{
y++;
printf("y:%d\n",y);
}
}
printf("%d,%d,%d,%d",m,n,x,y);
system("pause");
} |
|