这段程序哪里出错了?

tbag2011 2011-03-23 08:29:00
#include <stdio.h>
#include <stdlib.h>


int main()
{
int word_num=0;
char ch;
printf("请输入英文句子:");
while (ch!='\r')
{
scanf("%c",&ch);
if (ch==' ')
word_num++;
}
printf("\n您输入的句子的字数为:%d\n",word_num);

system("pause");
return 0;
}
...全文
103 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
如影随从 2011-03-23
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <stdlib.h>


int main()
{
int word_num = 0;
char ch;
printf("请输入英文句子:");
while ((ch =getchar()) !='\n')
{
if (ch==' ')
word_num++;
else
word_num++;

}
printf("\n您输入的句子的字数为:%d\n",word_num);

system("pause");
return 0;
}


fulima007 2011-03-23
  • 打赏
  • 举报
回复
你应该给ch定义一个空间吧
char ch[SIZE];
然后向ch[i]中输入数据
Technology_What 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 masmaster 的回复:]

引用 4 楼 tbag2011 的回复:
单词数

哦;

C/C++ code
#include <stdio.h>
#include <stdbool.h>

int main (void) {

char text[81];
int countWords (char string[]);

printf ("Enter some ……
[/Quote]

把这行改为printf ("Words=%i\n",countWords(text));
这才对了
Technology_What 2011-03-23
  • 打赏
  • 举报
回复
你们写的程序都不能运行正确结果啊
某某9 2011-03-23
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>


int main()
{
int word_num = 0;
char ch;
printf("请输入英文句子:");
while ((ch =getchar()) != EOF)
{
if (ch==' ' || ch == '\n')
word_num++;
}
printf("\n您输入的句子的字数为:%d\n",word_num);

system("pause");
return 0;
}
masmaster 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tbag2011 的回复:]
单词数
[/Quote]
哦;

#include <stdio.h>
#include <stdbool.h>

int main (void) {

char text[81];
int countWords (char string[]);

printf ("Enter some stirng:\n");
gets(text);

printf ("Words=%i\n",text,countWords(text));

return 0;

}

int countWords (char string[]) {

int i,wordCount=0;
bool lookingForword=true;
bool alphabetic (const char c);

for(i=0;string[i]!='\0';i++) {
if(alphabetic(string[i])) {
if(lookingForword) {
wordCount++;
lookingForword=false;
}
}
else{
lookingForword=true;
}

}
return wordCount;
}
bool alphabetic (const char c) {
if((c>='a' && c<='z') || (c>='A' && c<='Z')) {
return true;
}else{
return false;
}
}

heartgoon2010 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 thefirstz 的回复:]
一般用\n,不用\r
另外,printf后面可以加一个scanf,防止ch的未初始化遗留值是\r
[/Quote]
up
logiciel 2011-03-23
  • 打赏
  • 举报
回复
char ch;
改为
char ch = 0;

while (ch!='\r')
改为
while (ch!='\n')
tbag2011 2011-03-23
  • 打赏
  • 举报
回复
单词数
masmaster 2011-03-23
  • 打赏
  • 举报
回复
求单词数还是字母数?
tbag2011 2011-03-23
  • 打赏
  • 举报
回复
??还是不懂
昵称很不好取 2011-03-23
  • 打赏
  • 举报
回复
一般用\n,不用\r
另外,printf后面可以加一个scanf,防止ch的未初始化遗留值是\r

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧