假设一行字符串中的单词之间用空格分隔,用函数实现一行字符串单词的统计。

来源:百度知道 编辑:UC知道 时间:2024/05/26 11:18:22
#include "stdio.h"
int word_num(char a[])
{
int i,num=0,word=0;
while(a[i]!='\0')
{
if(a[i]=='')word=0;
else if(word==0)
{
word=1;
num++;
}
i++;
}
return(num);
}
void main()
{
char a[81];
int num;
gets(a);
num=word_num(a);
printf("num=%d\n",num);
}
我用函数编程的 错在哪

这是对你的程序的一点修改。

#include "stdio.h"
int word_num(char a[])
{
int i=0,num=0,word=0; // 第一处,是i 需要有初值。
while(1)// 当a[i]==0时候不能单纯的结束
{
if(a[i]==' '||a[i]=='\0')word=0; //此处 也有修改,你那种可能会遗漏统计最后一个单词
else if(word==0)
{
word=1;
num++;
}
if(a[i]=='\0') break; //在此处结束。
i++;
}
return(num);
}
void main()
{
char a[81];
int num;
gets(a);
num=word_num(a);
printf("num=%d\n",num);
}

编程的时候尽量要细心。一点小的错误可能引起程序的异常。

i应该赋初值0的

假设一行字符串中的单词之间用空格分隔,用函数实现一行字符串单词的统计。 对存储在字符串变量中的英文句子统计其中的单词个数。单词之间用空格隔开。 用函数实现:输入一行字符,将此字符串中最长的单词输出 编程统计一行字符串中单词的个数, 用c++编从键盘上输入一行字母,统计其中有多少个单词,单词之间用空格分隔, C++编程:从键盘上输入一行字母,统计其中有多少个单词,单词之间用空格分隔 C语言问题:输入一行字符,统计其中有多少个单词,单词之间用空格隔开 C语言如何实现第一行字符串有第二行字符串中的字符? 编程:求出一字符串中最长的单词。假设字符串中中含有字母和空格,空格是用来分隔不同单词的 程序代码 在Visual C++6.0开发环境中,输入一行字符,统计其中有多少个单词,单词之间用空格隔开。