求破,要求使用EOF结束,但是发生了很纠结的事
如果把PRINTF放入WHile似乎在连续的输入中输出是衔接的(不是分别多次),好像是循环了
如果放在WHILE外边,则不会有输出结果,闹了两个钟头了
代码如下,求修改
#include <stdio.h>
int main()
{
char s;
int let=0;
int dig=0;
int oth=0;
int spa=0;
while(( s=getchar() )!= EOF )
{
if((s >= 'a' && s <= 'z')||( s >= 'A' && s <= 'Z'))
{
let++;
}
else if(s==' ')
{
spa++;
}
else if(s >= '0' && s <= '9')
{
dig++;
}
else
{
oth++;
}
}
printf("%d %d %d %d\n",let,dig,spa,oth);
}
输入一个字符串,统计此字符串中字母、数字、空格和其它字符的个数(禁用库函数,要求可以连续输入,以EOF结束)
[解决办法]
输入CTRL+Z+空格 退出
[解决办法]
http://www.cnblogs.com/zjfdbz/archive/2011/12/17/2291233.html
[解决办法]
你在
if(s == '\n')
{
printf("%d %d %d %d\n",let,dig,spa,oth);
let=0;
dig=0;
oth=0;
spa=0;
}
if(s == '\n')
{
printf("%d %d %d %d\n",let,dig,spa,oth);
let=0;
dig=0;
oth=0;
spa=0;
}
else
{
if((s >= 'a' && s <= 'z')
[解决办法]
( s >= 'A' && s <= 'Z'))
{
let++;
}
else if(s==' ')
{
spa++;
}
else if(s>='0' && s<='9')
{
dig++;
}
else
{
oth++;
}
}