单词频率与字母数(仅限基本循环)
Words frequency with number of letters (basic loop only)
我想编写 C 程序以使用基本循环技术按字母数字打印单词长度及其出现频率。我可以得到字长的工作,但我坚持频率
(例子:Do 2 not 3 judge 5 a 1 book 4(已经解决了这个))
- 有 # 个单词包含 1 个字母
- 有 # 个单词包含 2 个字母
等...
#include <stdio.h>
int main(void) {
char word[30];
int i = 0,b=0,c=0,j=0,d=0;
printf("Please enter a word: ");
for (i = 0; i < 30 ; i++){
scanf("%s", word);
while (word[b]!='[=10=]'){
b++;
}
printf("%s %d ", word, b);
b = 0;
}
return 0;
}
你的问题不是很清楚。但是据我了解,您还想打印用户输入长度为 'l' 的次数 (frequency) .所以我会回答:
您可以 将单词的长度 存储在用户输入的数组中。读取所有输入后,您只需打印存储数组中每个字长的频率
参考下面的代码来理解我的意思:
#include <stdio.h>
int main(void) {
char word[30];
int i = 0,b=0,c=0,j=0,d=0;
int word_length_freq[30]={0}; //an array which will store the frequency of word length(all initialized to 0)
//eg. if word is "hello" it will increase count of word_length_freq[5] by 1
printf("Please enter a word: ");
for (i = 0; i < 3 ; i++){
scanf("%s", word);
while (word[b]!='[=10=]'){
b++;
}
word_length_freq[b]++;
printf("%s %d ", word, b);
b = 0;
}
for(int i=1;i<30;i++){ //This will print the frequency of all words from length 1 to 30
printf("There are %d words of length %d\n",word_length_freq[i],i);
}
return 0;
}
希望这能解决您的问题!
我想编写 C 程序以使用基本循环技术按字母数字打印单词长度及其出现频率。我可以得到字长的工作,但我坚持频率 (例子:Do 2 not 3 judge 5 a 1 book 4(已经解决了这个))
- 有 # 个单词包含 1 个字母
- 有 # 个单词包含 2 个字母
等...
#include <stdio.h>
int main(void) {
char word[30];
int i = 0,b=0,c=0,j=0,d=0;
printf("Please enter a word: ");
for (i = 0; i < 30 ; i++){
scanf("%s", word);
while (word[b]!='[=10=]'){
b++;
}
printf("%s %d ", word, b);
b = 0;
}
return 0;
}
你的问题不是很清楚。但是据我了解,您还想打印用户输入长度为 'l' 的次数 (frequency) .所以我会回答:
您可以 将单词的长度 存储在用户输入的数组中。读取所有输入后,您只需打印存储数组中每个字长的频率
参考下面的代码来理解我的意思:
#include <stdio.h>
int main(void) {
char word[30];
int i = 0,b=0,c=0,j=0,d=0;
int word_length_freq[30]={0}; //an array which will store the frequency of word length(all initialized to 0)
//eg. if word is "hello" it will increase count of word_length_freq[5] by 1
printf("Please enter a word: ");
for (i = 0; i < 3 ; i++){
scanf("%s", word);
while (word[b]!='[=10=]'){
b++;
}
word_length_freq[b]++;
printf("%s %d ", word, b);
b = 0;
}
for(int i=1;i<30;i++){ //This will print the frequency of all words from length 1 to 30
printf("There are %d words of length %d\n",word_length_freq[i],i);
}
return 0;
}
希望这能解决您的问题!