单词的长度(word)
论文问答
1
输入若干个单词,输出它们的平均长度。单词只包含大写字母和小写字母,用一个或多个空格隔开。 (提示:全球最长英语单词长达189819个字母。) 输入 一行,若干个单词的句子,单词只包含大写字母和小写字母,用一个或多个空格隔开。 输出 所有单词的平均长度,保留一位小数。 样例输入 John reed was a schoolboy of fourteen years old 样例输出 4.3
-
#include <stdio.h> #include <ctype.h> int main() { int word = 0, word_len = 0; float total_len = 0; char ch = getchar(); do { if (isalpha(ch)) { do { word_len++; ch = getchar(); } while (ch != EOF && isalpha(ch)); word++; total_len += word_len; word_len = 0; } else { do { ch = getchar(); } while (ch != EOF && !isalpha(ch)); } } while (ch != EOF); printf("%.1f", (float)total_len / (float)word); return 0; }
-
//3-2单词的长度 #include<stdio.h> #include<ctype.h> #define MAXN 1000 char a[MAXN]; int main() { char ch; int i=0,j=0,m=0,n=0; while(1) { scanf("%c",&ch); if(ch=='\n') { break; } else a[i++]=ch; } for(j=0;j<=i;j++) { if(a[j]==' ' && isalpha(a[j+1]) ) n++; if(isalpha(a[j])) m++; } double t; printf("Avarage length is %lf\n",(double)m/(n+1)); return 0; }
-
//3-2单词的长度 #include<stdio.h> #include<ctype.h> #define MAXN 1000 char a[MAXN]; int main() { char ch; int i=0,j=0,m=0,n=0; while(1) { scanf("%c",&ch); if(ch=='\n') { break; } else a[i++]=ch; } for(j=0;j<=i;j++) { if(a[j]==' ' && isalpha(a[j+1]) ) n++; if(isalpha(a[j])) m++; } double t; printf("%.1lf\n",(double)m/(n+1)); return 0; }
-
可以换位思考 计算整个字符串长度 计算字符串中空格个数 空格个数+1就是单词数 长度-空格数 / 单词数 记得去浮点型 就是结果 比如这个测试样例 长度47 空格数8 (47-8) / (8+1) 39 / 9 4.33333保留以为小数 4.3
发表回复