首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大家好,可以帮小弟我解决一个C语言有关问题吗

2013-01-05 
大家好,可以帮我解决一个C语言问题吗?问题是:题目是:输入一串字符,直到输入一个星号(*)为止,统计(输出)其

大家好,可以帮我解决一个C语言问题吗?
问题是:题目是:输入一串字符,直到输入一个星号(*)为止,统计(输出)其中的字母的个数和数字字符的个数。
我写的程序是:#include<stdio.h>
main()
{char ch;int i=0,j=0;
scanf("%c",&ch);
while(ch!='*')
{if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')i++;
if(ch%2==0||ch%2==1)j++;
scanf("%c",&ch);
  }
  printf("i=%d,j=%d",i,j);
}
  我出入了1 2 3 * 运行结果显示i=0,j=6;
我的问题是1。按照结果,j++运行了6次,为什么不是3次?
2.题目叫我出入字符,那么按照定义不是应该是char吗?但是假如我输入数字的话不是应该定义int吗,(也就是说,我定义的时候应该定义char还是int,)
-----本人刚刚学C语言,虚心求教。谢谢 

[解决办法]
6是因为有空格吧
[解决办法]
我定义的时候应该定义char还是int
int
[解决办法]
空格不被接受,需要使用正则
 scanf("%[^\n]",a);
[解决办法]


请无视4楼代码
那代码是回车输入了 
[解决办法]
用getchar() 和 putchar() 试试吧

热点排行