打印单词数、元音数以及每个字符出现的频率
输入一个字符串,找到用户输入的单词总数、元音数以及某个字符的出现频率
Input : enter s string : I love my MOM Enter a charcter of which you want to find a frequency: M Total frequency of M : 2 Total number of vowels : 4 Total number of words : 4
算法
START Step 1 Declare array of string, ch, i, freq to 0, vow to 0, word to 0 Step 2 Input a string and a character ch Step 3 Loop for from i to 0 and str[i]!=’\o’ and ++i Step 3.1 IF statement for ch==str[i] Post incrementing freq Step 3.2 End If Step 3.3 IF statement str[i]=='a'||str[i]=='e'||str[i]=='i'||str[i]=='o'||str[i]=='u'||str[i]=='A'||str[i]=='E'||str[i]=='I'||str[i]=='O'||str[i]=='U' Post incrementing vow Step 3.4 End If Step 3.5 IF statement str[i]=’ ’ Post incrementing word Step 3.6 End If Step 4 End For loop STOP
示例
#include <stdio.h> int main() { char str[1000], ch; int i, freq=0, vow=0, word=0; printf("Enter a string of your choice: "); gets(str); printf("Enter a character of which you want to find the frequency: "); scanf("%c",&ch); for(i = 0; str[i] != '\0'; ++i){ if(ch == str[i]) //to find the frequency of a character { ++freq; } if(str[i]=='a'||str[i]=='e'||str[i]=='i'||str[i]=='o'||str[i]=='u'||str[i]=='A'||str[i]=='E'||str[i]=='I'||str[i]=='O'||str[i]=='U') { ++vow; //to find the number of vowels } if (str[i] == ' ') { word++; //to find the number of words } } printf("Frequency of %c = %d", ch, freq); printf("
total number of vowels in a string are %d " ,vow ); printf("
total number of words in a string are %d " ,word+1 ); return 0; }
输出
如果我们运行以上程序,它将生成以下输出。
Enter a string of your choice: I love PrograMMIng Enter a character of which you want to find the frequency: M Frequency of M = 2 total number of vowels in a string are 6 total number of words in a string are 3
广告