我需要我的程序輸入用戶想要輸入的句子數,然後輸入這些句子。然後,通過傳遞函數letter()
,我想讓它計算每個字母在字符串中出現的次數。不過,我遇到了以下問題:計算一個句子的字母給出隨機輸出
- 當我輸入的行數,該程序只要求用戶輸入1小於輸入的號碼(即,如果我想2句,我只提示一)。
- 字母計數無法正常工作。這似乎是一種隨機的。
另外我想知道我是否正確使用我的二維數組(即我是否正確填充它,是否正確地將它傳遞給函數)。對於數組str[][]
,我希望第一個框表示句子數,第二個表示每行中的字符數。
這裏是我的代碼:
#include <stdio.h>
void letter(int n, char str[][80]){
char c = 'a';
char alpha[26];
int ltrcnt[26];
for(int i = 0; i < 26; i++){
ltrcnt[i] = 0;
}
for(int i = 0; i < 26; i++){
for(int j = 0; j < 26; j++){
for(int k = 0; k < 26; k++){
if(str[i][j] == c){
ltrcnt[k]++;
}
c++;
}
}
}
c = 'a';
for(int i = 0; i < 26; i++){
printf("%c: %d\n", c, ltrcnt[i]);
c++;
}
}
int main(void){
int n;
printf("Enter number of lines: ");
scanf("%d", &n);
char str[n][80];
printf("Enter a sentecne: ");
for(int i = 0; i < n; i++){
fgets(str[i], 80, stdin);
}
letter(n, str);
}
隨機你的意思是你可以進入同一個句子兩次,你會得到不同的結果如何? –