当前位置: 代码迷 >> C语言 >> [求助]C语言循环里的小问题
  详细解决方案

[求助]C语言循环里的小问题

热度:149   发布时间:2007-10-23 23:53:23.0
你代码里的fflush(stdin)没什么作用
#include <stdio.h>
main()
{int a,num,kongge,qita;
char i;
a=0;
num=0;
kongge=0;
qita=0;
printf("请输入字符序列:");
while(i!='\n')/*用这个代替就行了*/
{
i=getchar();
if(i>='a'&&i<='z'||i>='A'&&i<='Z')
{
a++;
}
else if(i>='0'&&i<='9')
{
num++;
}
else if(i==32)
{
kongge++;
}
else if(i!=10&&i!=13&&i!=32&&!(i>='a'&&i<='z'||i>='A'&&i<='Z')&&!(i>='0'&&i<='9'))
{
qita++;
}
}
printf("\n这中字符中共有字母%d个\n数字%d个\n空格%d个\n其他字符%d个\n",a,num,kongge,qita);
}
----------------解决方案--------------------------------------------------------

#include <stdio.h>
int main()
{ int a,num,kongge,qita;
char i;
a=num=kongge=qita=0;
printf("请输入字符序列:");
fflush(stdin);
while((i=getchar())!=EOF)
{
if(i>='a'&&i<='z'||i>='A'&&i<='Z')
{a++;
continue;}
else if(i>='0'&&i<='9')
{num++;
continue;}
else if(i==32)
{kongge++;
continue;
}
if(i!=32&&!(i>='a'&&i<='z'||i>='A'&&i<='Z')&&!(i>='0'&&i<='9'))
{qita++;
continue;

}
if(i='\n')
break;
};

printf("\n这中字符中共有字母%d个\n数字%d个\n空格%d个\n其他字符%d个\n",a,num,kongge,qita-1);
return 0;
}

这样改可以不呀? ctrl+z结束


----------------解决方案--------------------------------------------------------
  相关解决方案