标题:求助!!编译、组建、都通过,为何不能实现功能啊?
只看楼主
wxlogos
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2011-11-6
结帖率:50%
已结贴  问题点数:10 回复次数:6 
求助!!编译、组建、都通过,为何不能实现功能啊?
#include<stdio.h>
#include<string.h>
void main()
{
 char string[81];                   //定义一个字符型数组
 int i,num=0,word=0;                //i用来控制循环次数,num表示单词个数,word是一个标志。
 char c;
 gets(string);                      //获取用户输入的一句话,在这句话的末尾系统会自动添加一个结束标志‘\0’。
 for(i=0;(c=string[i])!='\0';i++)  //开始判断,只要他不是结束标志,就执行下面的语句。
     if(c==' ')                    //判断当前字符是不是空格比如i am a boy ,第一个不是空格,所以就不执行word=0,而执行下一句判断word等不等于0;
         word=0;
     else if(word==0)              //判断word是否为0,显然是(前面定义word初始值为0),则word赋值为1,num加1;
     {
         word=1;
         num++;
     }
     printf("d%\n",num);

}
//本程序目的是:输入一行字符,统计其中单词的出现个数
搜索更多相关主题的帖子: 单词 include word 用户 
2011-11-08 17:31
李梦云
Rank: 2
等 级:论坛游民
帖 子:6
专家分:12
注 册:2011-11-8
得分:0 
#include "stdafx.h"
#include<string.h>
int main(int argc, char* argv[])
{
   char string[81];                  
   int i,sum=0;               
  
   scanf("%s",string);                     
    for(i=0;(string[i])!='\0';i++)
    {
        sum++;
    }
     printf("%d\n",sum);


      return 0;

}
试试看,用VC运行一下,我这里成功了
2011-11-08 18:09
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
得分:0 
回复 2楼 李梦云
光是能运行,没有达到所需的功能是没用的
程序代码:
#include "stdio.h"
#include<string.h>
main()
{ 
    char string[81];                   
    int i,sum=1;               
    gets(string);                     
    for(i=0;string[i]!='\0';i++) 
    if(string[i]==' ')
        sum++;
    printf("%d\n",sum);
}
2011-11-08 19:03
huanega
Rank: 3Rank: 3
来 自:内蒙古
等 级:论坛游侠
帖 子:117
专家分:192
注 册:2011-11-4
得分:10 
printf("d%\n",num);   是 你原文错了   输出 占位%d   不是d%


程序代码:
#include <stdio.h>
#include<conio.h>
void main()
{

 char string[81];

 int i,num=0,word=0;

 char c;

 gets(string);

 for (i=0;(c=string[i])!='\0';i++)    
{  
if(c==' ') word=0;
  else if(word==0)
    {  word=1;
       num++;
     }
}
  printf("There are %d words in thelinen",num);
  getch();
            }


[ 本帖最后由 huanega 于 2011-11-8 19:15 编辑 ]

兴趣是编程最好的老师
2011-11-08 19:09
wxlogos
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2011-11-6
得分:0 
回复 4楼 huanega
多谢了 ,,,,,
2011-11-08 21:20
tan2010
Rank: 2
等 级:论坛游民
帖 子:66
专家分:71
注 册:2011-10-13
得分:0 
你这样你的代码结果一样是错的,你打印的是空格个数,而不是单词个数啊!!
#include<stdio.h>
#include<string.h>
void main()
{
char string[81];                   //定义一个字符型数组
int i,num=0,word=0;                //i用来控制循环次数,num表示单词个数,word是一个标志。
char c;
gets(string);                      //获取用户输入的一句话,在这句话的末尾系统会自动添加一个结束标志‘\0’。
for(i=0;(c=string[i])!='\0';i++)  //开始判断,只要他不是结束标志,就执行下面的语句。
{ if(c==' ')                    //判断当前字符是不是空格比如i am a boy ,第一个不是空格,所以就不执行word=0,而执行下一句判断word等不等于0;
         word=0;
else
word=1;
     if(word==1)              //判断word是否为0,显然是(前面定义word初始值为0),则word赋值为1,num加1;
     num++;
     
}
     printf("%d\n",num);

}
2011-11-08 22:42
物极必反
Rank: 2
等 级:论坛游民
帖 子:54
专家分:35
注 册:2011-10-3
得分:0 
# include <stdio.h>

int main (void)
{
    char string [81];

    int i,num=0;

    gets(string);

    for (i=0;string[i]!='\n';i++)
    {
        if (string[i]==' ')
            num=num+1;
            
    }
    printf("%d ",num);


    return 0;
}
2011-11-08 22:48



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




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

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