一道关于c语言的简单问题,大神求教
#include <stdio.h>main()
{
char c;
int x=0,y=1,z=0;
do
{
switch( c = getchar() )
{
case 'i': case 'I':
case 'c': case 'C':
case 'o': case 'O': x++;
default: y++; z++;
}
}while( c!='m' );
printf("x=%d y=%d z=%d", x, y, z);
}
我在c编译器上运行不出来结果,而答案给的是6,15,14
请问这题是怎么求解的??? 你要输入东西的
他先获取你输入的一个字符判断是不是大小写i大小写c大小写o如果是xyz自增1
如果不是y,z自增1,然后在判断这个字符是不是m是就退出循环输出XYZ
不是m继续获取下一个字符继续判断
所以最终xyz是多少看你输入的字符的
比如你输入iiiiiiaaaaaaam应该就是你要的答案 牡丹花下死做鬼 发表于 2015-9-11 23:16
你要输入东西的
他先获取你输入的一个字符判断是不是大小写i大小写c大小写o如果是xyz自增1
如果不是y,z自 ...
嗯嗯,我明白了。刚刚是我审题错误,谢谢你啦!:ton: 好像没有break 领到10个鱼币再说 初学 看不是很懂。。。。 有getchar():sweat: 没有 break;只要输入是i,c,o中的一个X都会自增1,其他的字符Y和Z会自增1.其实可以使用islower().isupper()
来判断。 你要给出输入 我的天听说有鱼币
是从键盘输入一个字符串,统计其中小写字母i c o 与大写字母ICO的个数存放到X中,其他字符存到Y,z中,遇到m认为字符串结束,也就是循环结束了
页:
[1]