若干个单词,输出他们的平均长度,保留两位小数,单词只包含大写字母和小写字母。单词前后都可能有一个或者多个空格隔开,
程序分析:只需建立一个数组存储字符串,统计其中的非空格字符数和由若干干空格隔开的单词数
注意:如果是上机提交答案,使用cpp 提交,变量先定义后使用,且尽量减少局部变量。
代码如下:
#include <stdio.h>
int main()
{
char words[1000];
float changdu = 0;
float geshu = 1;
int i,k = 0;
float aver;
gets(words);
for (i = 0; words[i] != '\0'; i++)
{
if ((words[i] >= 'A' && words[i] <= 'Z') || (words[i] >= 'a' && words[i] <= 'z'))
{
changdu++;//判断总字符数
}
}
for (i = 0; words[i] != '\0'; i++)
{
if ((words[i] == ' ' ) &&(words[i+1] != ' ' ))
{
geshu++;//计算单词个数
}
}
aver = changdu / geshu;
printf("%.2f", aver);
}
感谢机自2113顾宛乔同学提供的参考。