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,...