C語言 輸入英文單詞,用26元的陣列儲存每個字母出現的次數迴圈部分如下

2021-03-19 21:49:51 字數 6091 閱讀 9510

1樓:匿名使用者

首先 知道 ++ 就是 加1 的意思

其次a[n]-'a' 等於 0~25(如果是a 等於0,z 等於25.....)

times[a[n]-'a']++; (如果是 a,time[0]++,如果是z time[25]++

可以用其他語句代替,但是會複雜一點,這樣寫很簡單

2樓:臣天男

字母在c語言裡面是以ascii碼存在的,每個字母對應

一個數字,a[n]表示一個字母,a[n]-'a'就表示該字母在字母表中的位置,比如a,a[n]-'a'=0,也就是表示a在字母表中是第一位(陣列下標是0-25)。

用c語言編寫一個陣列count[26]統計每個元素的字母出現的次數

3樓:

int * func(char * string)

return pcount;}

4樓:匿名使用者

有個叫字典的類,可以自動新增個數

用c語言編寫,對於任意輸入的一段英文,統計並輸出26個英文字母的出現次數

5樓:

參考我以前的回答:

回答1、

回答

編寫一個c語言程式:從鍵盤讀入一行文字,統計每個英文字母出現的次數

6樓:匿名使用者

對於每個英文字母分別判斷個數,並累計,最終輸出即可。

一、演算法:

1、迴圈讀取字元,直到換行為止。對於每個字元,執行以下流程。

2、判斷是否為英文字母,即小寫和大寫兩種。

3、如果是英文字母,則統計個數。

輸入部分,可以存為陣列,也可以每輸入一個字元計算一次。

二、參考**:

#include

int main()

;while((c=getchar())!='\n')//讀取每個字元,直到遇到換行為止。

for(c=0;c<26;c++)//輸出大寫字母統計結果。

if(**t[c]!=0) printf("%c:%d\n", c+'a', **t[c]);

for(c=26;c<52;c++)//輸出大寫字母統計結果。

if(**t[c]!=0) printf("%c:%d\n", c-26+'a', **t[c]);

return 0;}

7樓:

#include

#include

#define max 100int main()

; // count 陣列用來儲存各個字母出現的次數

scanf("%s", str);

while(str[i] != '\0')if (str[i] >= 'a' && str[i] <= 'z')

i++;

}for (i = 0; i < 26; i++)for (i = 26; i < 52; i++)return 0;}

8樓:匿名使用者

#include

int main(void)

;while ((a = getchar()) != '\n')}}

for (i=0;i<26;++i)

else

}printf("\n");}

您好,請問如何用c語言的do...while寫出小寫英文字母?(以26迴圈,當輸入數

9樓:匿名使用者

小寫字母的ascii 碼為97-122

如果你輸入1表示a,  2表示b  , 那麼1對應97, 2對應98 ........

輸入範圍應該在1-26之間, 超過這個區間的數就丟棄int i;

doprintf("%c",i+96);

}while(i==0)     //輸入0時結束

關於c# 如何利用陣列給26個英文字母賦值1到26 使用者輸入單詞能計算總和

10樓:匿名使用者

你用列舉或者字典吧,列舉可以直接設定每個字母的值,字典你可以讓字母為key,值為value。

輸入單詞,你split一下,計算就行了

c程式 輸入一個英文句子,統計各單詞出現的次數,並按要求排序。要求如下,謝謝。

11樓:匿名使用者

試編寫**如下:

#include

#include

#include

struct word

words[500];

int sum;

void chuli(char s)

}  if(flag==0)

}void paixu1()}}

void paixu2()}}

}int main()

printf("該文章共有:%d個單詞\n",sum);

paixu1();

printf("\n按單詞字典順序升序排列:\n");

for(i=0;i

實際執行截圖:

12樓:匿名使用者

'把下面**複製到窗體,新增1個list 和一個***mand按鈕執行就可以了,和一個文字框,資料輸入在文字框裡

private type english

word as string

count as long

end type

'判斷是不是英文

private function en(byval s as string) as boolean

if s = "" then en = false: exit function

s = lcase(s)

for i = 1 to len(s)

a = asc(mid(s, i, 1))

if a < 97 or a > 122 then en = false: exit function

next

en = true

end function

'統計陣列內各個英文出現次數

private function tongji(byval t_txt as string) as english()

s = split(t_txt, " ")

n = 0

dim english() as english

redim english(0)

for i = 0 to ubound(s)

if s(i) <> "" and en(s(i)) = true then

temp = false

for j = 0 to ubound(english)

if english(j).word = "" then

english(j).word = s(i): english(j).count = 1: exit for

elseif english(j).word = s(i) then

temp = true: english(j).count = english(j).count + 1: exit for

end if

next

if temp = false then

redim preserve english(n): english(n).word = s(i): english(n).count = 1: n = n + 1

end if

end if

next

tongji = english

end function

private sub ***mand1_click()

dim e() as english

e = tongji(text1)

clsfor i = 0 to ubound(e)

if e(i).count > 0 then list1.additem e(i).word & " 出現過: " & e(i).count & " 次"

next

end sub

13樓:匿名使用者

#include

#include

#include

#include

#include

#include

#define n 50

using namespace std;

int cmp(const pair& x, const pair& y)

//vector裡實現單詞出現次數排序

void sortmapbyvalue(map& tmap,vector>& tvector)

//將map元素轉存為vector

int main()

}++i;}}

cin.clear();//清除輸入流,不然,結束上面大while迴圈時輸入的ctrl+z

//會影響到整個程式,導致程式結束退出,無法再進行下面輸入操作

cout<<"1:按出現次數降序排列, 2:按單詞字典順序升序排列"<>k;//選擇輸出方式

if(k==2){//map中預設已自動按key(即單詞)排序,直接輸出即符合字典順序

for(it=v.begin();it!=v.end();++it)

cout<<(*it).first<<","<<(*it).second<> tvector;

sortmapbyvalue(v,tvector);

for(int i=0;i

c語言程式設計:輸入一串字母,統計每個字母出現的次數

14樓:莫道無情

c語言程式如下:

#include

int main()

;//用於儲存字元的個數

gets(a);//輸入字元

//開始比較

for (int x = 0; x < 24; x++) }if (s[x]>=1)//只輸出輸入中有的字母 的個數}

getchar();

return 0;}

15樓:wsp竹木

#include

void main()

; //陣列s用來統計每個小寫字母的個數printf("please input a string:\n");

scanf("%c",&ch);

while(ch!='\n') //輸入一行字元,以回車鍵結束

printf("\n");

for(i=0;i<26;i++)

if(s[i]) //只輸出輸入過的字母統計printf("%c:%d\n",(char)(i+'a'),s[i]);

//(char)(i+'a')用強制型別轉換,輸出對應字母}

求助:用c語言程式設計 統計輸入的一個字串中每個字母出現的次數

16樓:匿名使用者

答案在北郵出版社郭浩志版c語言程式設計第131頁的例7.23,程式太長了手機打不完啊!主要是根據str[i]-'a'和str[i]-'a'+26統記個數,將其按順序存入陣列c中計數。

17樓:匿名使用者

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

main()

dc++;}

else

i++;

}for(i=0;i<26;i++)

if(zm[i]>0)

printf("\n%c出現了%d次\t",i+'a',zm[i]);

printf("\n共有單詞%d個\n",dc);

system("pause");}

輸入英文句子統計單詞個數c語言,c語言 統計一個英文句子中的單詞個數

1.單詞與單詞之間是空格 單詞後面是空格 2.一句話說完之後有標點的話,就不是空格了 所以最後一個單詞後面是標點 3.每段的開始是不是也有空格的,如果有要記得減去我想應該是 空格 標點 段落數 段前空格數 單詞數都忘記怎麼編寫了 不知道對不對,大致我是這麼理解的 統計空格的個數再加1應該就是單詞個數...

問C語言程式設計所涉及英文單詞或函式的中英文對照表

對照?有些是縮寫,有些是人為產生,難道想用中文寫c?函式寫熟了就會的函式庫就有 保留字?函式名字?或者?c語言程式設計用英語怎麼說 c語言程式設計 c language programming 絕對正確 programming in c或者c language programming 誰能給個完整的...

C語言中關於統計英文句子中英文單詞數問題

ascii碼錶 32 為 blank 空格。方括號中應填入 p while p 32 p 其意思是 排除掉句子剛開始可能有前空格的情況。c語言 統計一個英文句子中的單詞個數 存在兩個問題 1 單詞 與單詞之間的空格不止一個,如there is2 單詞與單詞之間只有標點符號分隔,沒有空格,如will,...