輸入一串由英文和空格組成的句子,輸出指定內容
阿新 • • 發佈:2019-01-03
輸入一串由英文和空格組成的句子,可能出現一個或多個空格,不區分大小寫。
(1)輸出該句子中字母的個數。
(2)輸出該句子中單詞的個數。
(3)輸出該句子中出現次數最多的字元和次數。
例如:“thiS IS my love”
輸出:字母個數12 ,單詞個數4,最多的字元i s 次數為2
#include <stdio.h> #include <string.h> int main(){ char ch[1000]; int z[27]={0};//用來記入每一個字母出現的次數 int i,tmp,maxindex=0,maxnum=0,charcount=0,count=0;//maxnum出現最多字母的次數,charcount字母的個數 ,count單詞的個數 gets(ch);//scanf("%s",ch)接受輸入會過濾掉空格 // puts(ch); int len = strlen(ch),flag=0;//flag用於標記,有助於判斷單詞個數 for(i=0;i<len;i++){ if(ch[i]>='a'&&ch[i]<='z'){ flag=1; charcount++;//字母個數加一 tmp = ch[i]-'a'; z[tmp]++; if(maxnum<z[tmp]){//判斷出現次數最多的字元 maxnum = z[tmp]; maxindex = tmp; } } if(ch[i]>='A'&&ch[i]<='Z'){ flag=1; charcount++;//字母個數加一 tmp = ch[i]-'A'; z[tmp]++; if(maxnum<z[tmp]){//判斷出現次數最多的字元 maxnum = z[tmp]; maxindex = tmp; } } if(flag==1&&ch[i]==' '){ count++; flag=0 ; } } if(flag=1&&i>=len){//如果最後一個單詞後沒有空格 count++; flag=0 ; } printf("字母個數%d\n",charcount); printf("單詞個數%d\n",count); for(i=0;i<26;i++){ //有可能出現最多次數的字元有多個。 if(z[i]==maxnum) printf("出現最多次數的字母%c\n",i+'a'); } printf("出現最多次數的字母的次數%d\n",maxnum); return 0; }