标题:请教大神这个程序哪里有问题
只看楼主
梦巷
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2015-4-18
结帖率:100%
已结贴  问题点数:20 回复次数:2 
请教大神这个程序哪里有问题
#include<stdio.h>
  main( )
{
    int i=0,num=0;
    char str[100],c;
    printf("请输入单词");
    gets(str);//输入字符
    do{
            while((c=str[i])==' ')i++;// 即找第一个非空字符
        if(c!='\0')
        num++;//计数器加一     
        while(c=str[i] !=' '&&c!='\0')i++;// 跳过本单词寻找空格或\0
    } while(c!='\0');
    printf("%d\n",num);//打印个数
}
这是个统计单词个数的程序。
搜索更多相关主题的帖子: include 计数器 单词 统计 
2015-04-28 09:20
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:7 
while((c=str[i])==' ')i++;// 即找第一个非空字符
这个while循环我没看懂,当str[i]==' '的时候,循环继续,当str[i]不等于' '时,循环结束?

总有那身价贱的人给作业贴回复完整的代码
2015-04-28 09:28
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
得分:7 
程序代码:
#include<stdio.h>
  main( )
{
    int i=0,num=0;
    char str[100];
    printf("请输入单词");
    gets(str);
    while(str[i] !='\0')
    {
        while (str[i++] != ' ')
            ;        //遇到第一个空格时结束循环
        if (i != 1)    //第一个了符为空格时计数不增加
            num++;
        while (str[i++] == ' ')
            ;        //遇到连续空格时i++
    }
    printf("%d\n",num);//打印个数 
} 

人有多懒,编程就有多难。
2015-04-28 10:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444591-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.238747 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved