求编程大神。。 写一个程序读入一条句子中的所有单词,显示如下指定长度的单词的数目: (a) 1 30
写一个程序读入一条句子中的所有单词,显示如下指定长度的单词的数目:
(a) 1
(b) 2 to 5
(c) 6 to 10
(d) 11 to 20
(e) 大于等于21
假定句子以换行结束,单词间用空格分隔,并且每个单词长度不超过25个字符。
**提示信息:"请输入一行字符:"
**输出格式要求:
"长度为1的单词数:%d\n"
"长度在2到5的单词数:%d\n"
"长度在6到10的单词数:%d\n"
"长度在11到20的单词数:%d\n" 展开
-----------------------------------------------------------------------------------------------
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "string.h"
void main()
{
char str[100]={'\0'};
int lenCount[5]={0};
int i=0,wordLen=0;
printf("请输入一行字符:");
gets(str);
for(i=0;i<strlen(str);i++) {
if(str[i]==' '||i==strlen(str)-1){
if(i==strlen(str)-1) wordLen++;
if(wordLen==1) lenCount[0]++; //单词长度为1的统计
else if(wordLen>1&&wordLen<=5) lenCount[1]++;//单词长度为2~5的统计
else if(wordLen>5&&wordLen<=10) lenCount[2]++;//单词长度为6~10的统计
else if(wordLen>10&&wordLen<=20) lenCount[3]++;//单词长度为11~20的统计
else if(wordLen>20) lenCount[4]++;//单词长度为21~25的统计
wordLen=0;
}
else wordLen++;
}
printf("长度为1的单词数:%d\n",lenCount[0]);
printf("长度在2到5的单词数:%d\n",lenCount[1]);
printf("长度在6到10的单词数:%d\n",lenCount[2]);
printf("长度在11到20的单词数:%d\n",lenCount[3]);
printf("长度大于20的单词数:%d\n",lenCount[4]);
}