怎么改成多行统计
IamaslowwalkerbutIneverwalkbackwardsI LOVE YOU
输出:10
3
#include <stdio.h>
int main()
{
char ch;
int i,count=0,word=0;
while((ch=getchar())!='\n')
if(ch==' ')
word=0;
else if(word==0)
{
word=1;
count++;
}
printf("%d\n",count);
return 0;
} 本帖最后由 jhq999 于 2022-11-20 18:48 编辑
#include<stdio.h>
int main()
{
char ch;
int i,count=0,word=0;
while(1)
{
ch=getchar();
if('\n'==ch)break;//////多按一下回车退出循环
ungetc(ch,stdin);///////不是回车把得来的值重新塞回标准输入的缓存,神奇吧^_^,在”人造人“大神哪里学到的
count=0;
while((ch=getchar())!='\n')
if(ch==' ')
word=0;
else if(word==0)
{
word=1;
count++;
}
printf("%d\n",count);
}
return 0;
}
#include <stdio.h>
int main()
{
char ch ;
int c , d , i , m ;
for(m = 0 ;; m ++) {
for(c = d = 0 ; (ch = getchar()) != '\n' ;) {
if(ch != ' ') c ++ ;
else {
if(c) {
d ++ ;
c = 0 ;
}
}
}
if(c) d ++ ;
if(! d) break ;
}
for(i = 0 ; i < m ; i ++) printf("%d\n" , d) ;
}
编译运行实况:
D:\\C>g++ -o x x.c
D:\\C>x
IamaslowwalkerbutIneverwalkbackwards
I LOVE YOU
10
3
D:\\C> jackz007 发表于 2022-11-20 19:15
编译运行实况:
运行超时 giegie666 发表于 2022-11-20 21:41
运行超时
这种题也卡时间,有没有搞错。 jackz007 发表于 2022-11-20 21:44
这种题也卡时间,有没有搞错。
{:10_266:}对啊 giegie666 发表于 2022-11-20 21:46
对啊
这个代码没有任何废码,而且,键盘输入用 getchar() 效率也是最高,我不相信这个题能有合格答案。
页:
[1]