ADV-102 算法提高 单词个数统计
问题描述
编写一个程序,输入一个字符串(长度不超过80),然后统计出该字符串当中包含有多少个单词。
例如:字符串“this is a book”当中包含有4个单词。
输入格式:输入一个字符串,由若干个单词组成,单词之间用一个空格隔开。
输出格式:输出一个整数,即单词的个数。
输入输出样例
用户输入数据样例:
this is a book
系统输出数据如下:
问题描述
编写一个程序,输入一个字符串(长度不超过80),然后统计出该字符串当中包含有多少个单词。
例如:字符串“this is a book”当中包含有4个单词。
输入格式:输入一个字符串,由若干个单词组成,单词之间用一个空格隔开。
输出格式:输出一个整数,即单词的个数。
输入输出样例
用户输入数据样例:
this is a book
系统输出数据如下:
4
#include "stdio.h"
main()
{
char s[81],c;
int i,num=0,word=0;
printf("请输入一行英文:\n");
gets(s);
for(i=0;(c=s[i])!='\0';i++)//判断句子是否到未
if(c==' ') word=0;//是空格就为0
else if(word==0)//不是空格就判断之前有没有空格
{
word=1;//复位用来判断空格是否存在的开关
num++;//如果之前有空格,单词数加1
}
printf("本行中共有%d个单词.\n",num);
}
#include <stdio.h>
#include <string.h>
main()
{char a[80];
int i,n,c=0;
gets(a);
n=strlen(a);
for(i=0;i<=n-1;i++)
{if(a[i]!=' '&&(a[i+1]==' '||a[i+1]=='\0'))
c++; /*第i个字符不是空格,而第i+1个字符是空格或'\0',表示发现一个单词*/
}
printf("c=%d\n",c);
}