C语言:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开

如题所述

第1个回答  2019-10-30
这样做算法是对的!就是程序不完善.
#include
<stdio.h>
void
main()
{
char
str[81];
int
i,num=0,word=0;
char
c;
gets(str);
for(i=0;(c=str[i])!='\0';i++)
if(c=='
')
word=0;
else
if(word==0)
{
word=1;
num++;
}
printf("There
are
%d
words
in
the
line.\n",num);
这样就行了你可以试试``~注意一下if(c=='
')里面的空格.
第2个回答  2009-04-08
#include<iostream>
using namespace std;

bool isletter();
void getch();

char c[1000],
ch;
int index=0;
int main()
{

int count=0;
cout<<"输入一行字符:";
cin.getline(c,1000,'\n');
do
{
getch();
if(isletter())
{
count++;
do
{
getch();
}while(isletter());
}
}while(index<strlen(c));
cout<<count;

return 0;
}

void getch()
{
ch=c[index];
index++;
}

bool isletter()
{
if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z'))
return true;
return false;
}
相似回答