1樓:匿名使用者
#include
void count (char *c , int n){char a=c[0];
int max=1, i=0,j;
for (i;i
權for (j = i+1;j
c語言統計文字檔案中每乙個單詞出現的頻率並按出現的頻率從小到大排序,這個怎麼做啊??求大神幫幫忙啊
2樓:滄海雄風
#include
#include
struct words //單詞結構體;main()
,stmp=;
int i=0,j=0,k=0,flag =0;
char c,tmp[20]=;
file *fp = null;
fp =fopen("data.txt","r");
//讀檔案解析成單詞
while ( (c= fgetc(fp)) !=eof )else}}
//輸出排序後的所有已記錄單詞
for (k=0;k
3樓:你猜我猜哇擦猜
#include
#include
#include
#include
#define text_size 1024#define word_count 100#define word_len 30
//每一種單詞乙個結點
typedef struct word_nodes_word;
static int separate(char *p_str_text)
//傳入的
引數檢測
if (null == p_str_text)//從文字中去乙個單詞乙個單詞的分離,並統計token = strtok(p_str_text, seps);
while (null != token)else if (0 == strcmp(arr_word[row].word, token))
}token = strtok(null, seps);
}//顯示統計結果
row = 0;
printf("最終結果為》 \n");
while(0 != strcmp(arr_word[row].word, ""))
finished:
return ret;
}void main(int argc, char argv)memset(str_text, 0, text_size);
//輸入文字
printf("請輸入文字:\n");
scanf("%s", str_text);
ret = separate(str_text);
printf("ret = %d\n", ret);
return;
}提問者評價謝謝
c語言大神來幫我看一道題目。輸入乙個字串統計其中各個字元出現的次數。
4樓:匿名使用者
#include"stdio.h"
#include"string.h"
main()
,i,j,m=0,n,k,l=1;
printf("請輸入字元並以回車結束:\n");
gets(a);
n=strlen(a);
b[0]=a[0];
for(j=1,i=1;j需要歸零,你給出的例子,asd剛開始都只出現一次,m始終為0,所以asd都能搜進b陣列,但後面a重複出現,m變為非0,並且沒有清零,導致遍歷到f時m還是非零值,後面的d已經在陣列b裡出現,所以不影響d的最終統計
}for(j=0;j
for(m=0;m if(b[j]==a[m]) c[j]++; for(j=0;j
printf("%c,%d\n",b[j],c[j]);} 5樓:匿名使用者 我大概看懂了你的思路,你是先找到所有出現的字元,存到 b,然後統計出現次數。 for(j=1,i=1;j在這裡新增乙個語句,當標誌位用。 for(k=0;k if(a[j]==a[k]) m++; //這裡還可以寫成if(m==0) }如果當字元多的時候,這個方法就不太好了,有比這個好方法 6樓:匿名使用者 for(j=1,i=1;j這裡重置下m的值。 for(k=0;k if(a[j]==a[k]) m++; if(m==0) 求助大神。c語言題目:有一篇文章,共有3行文字,每行有個80字元.要求分別統計出其中英文大寫字母、小寫 7樓:藍色** #include int main() return 0;} 8樓:匿名使用者 #include #include int main() // while(str[i][j]!='\0')for(i=0;i<3;i++) for(;i<=2;i++) } return 0;} 9樓:蘋果0蒲公英 應該有檔案的讀操作吧,#include這個庫里,還得判斷檔案是否開啟,最後德關閉檔案,讀乙個判斷乙個就行,不用用二維陣列 c語言程式設計:輸入一串字母,統計每個字母出現的次數 10樓:莫道無情 c語言程式如下: #include int main() ;//用於儲存字元的個數 gets(a);//輸入字元 //開始比較 for (int x = 0; x < 24; x++) }if (s[x]>=1)//只輸出輸入中有的字母 的個數} getchar(); return 0;} 11樓: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')用強制型別轉換,輸出對應字母} include include include define n 100 void main char s n t n int a 0,sen 0,i 0,len file fp,fp1 fp fopen a.txt w if fp null printf 檔案開啟錯誤 n exit 0 print... 你的程式有許多錯誤,主要有 1 j沒有初始化為0,直接用作陣列下標是不對的,會導致程式崩潰。而且j沒有 1操作,這樣輸入的字元都會覆蓋到一起。2 不能既有a j getchar 又有scanf c a j 這樣會導致乙個字元被另乙個覆蓋,陣列不能儲存所有的字元。3 scanf c n m 應寫為sc... for 語句稱之為迴圈語句,語句塊稱之為迴圈體,而這種結構在c 中稱之為迴圈結構。執行迴圈前,建立了兩個變數,分別為sum和i。迴圈語句中習慣用諸如i j k之類的字母作為變數名,來控制迴圈執行次數,這些變數又稱之為迴圈控制變數。而sum表示 和 的意思,作用是把乙個個數值累加起來。用for語句計算...C語言程式設計統計文字檔案大寫字母個數和句子個數
c語言統計字串中每個字元出現的次數,為什麼輸入的字元不被計算
C語言用for如何實現多次迴圈的輸入輸出