1樓:匿名使用者
//主要是因為,漢字都是兩個位元組
//包括標點符號也都是兩個位元組的,所以if(*p==',')其實是錯誤的!
//在**裡做了修改,測試通過,如果有疑問,歡迎交流#include
char inter_lib[7][3] = ;
int check_inter(char*tar)return false;
}void main()
//如果遇到以上這些標點符號,那麼k++(因為下一步要減去這些符號的數量才是漢字的數量)。
g=cur_idx/2-k; //注意這裡除2printf("漢字數量%d\n",g);
printf("press ank key and enter to continue\n");
getchar();}
2樓:空雪夢見
||||
|int g,s,k;
->int k = 0;
if (*p==','||*p=='。'||*p=='?'||*p=='!'||*p=='」'||*p=='「'||*p==':')
k++;
->if ((unsigned char)*p>=0x81 && (unsigned char)*p <= 0xfe)
++k, ++p;
g和s不用了
3樓:劉文正粉絲
k你沒有賦初值, 另外.漢字是佔2位元組.
請問在c++中怎樣編寫一段程式來統計文字檔案中的漢字個數(當檔案中漢字、數字、字母相互混雜時)謝謝!
4樓:耀宇星鋒
ascll有128個,unicode字符集包括世界上多種語言的基本字元,同時ascll碼字元剛好是其前128個,int(ch)表示將ch對應的字元轉換為整型,如果int(ch)>127,則表示其是unicode中128為以後的字元,這樣就能大概的統計檔案中的漢字數。
5樓:匿名使用者
gb碼裡一個漢字由兩個位元組組成 並且第一個位元組 >=128 所以你只要找到 一個位元組 >=128 那第二個位元組和這個位元組組成一個漢字,第二個位元組的範圍沒關係
6樓:匿名使用者
你的那段程式會出錯,如果使用unicode編碼漢字,比如utf8,有的漢字3個位元組,有的2個位元組..如果用gbk,gb2312編碼漢字都是雙位元組..你那個明顯智慧識別gb的..
遇見utf8就死翹翹了...127之前的是ascii碼.比127大,就是漢字了..
當然,這是在gb裡....最好的辦法是用現成的庫..icovn什麼的..
防止出錯..
7樓:匿名使用者
對不起,我不會c語言,所以不能幫你解答。
關於c++的一個簡單程式,請高手幫我修改一下!
8樓:匿名使用者
/*count = 59283, e = 2.07566**ress any key to continue*/#include
#include
#include
void sort(int a,int n)if(k != i) }}
int main ()
}e = 1.0 * count/(13*13*13*13);
printf("count = %d, e = %lf\n",count,e);
return 0;}
9樓:匿名使用者
#include
#include/* 引用qsort函式 */
/* qsort函式中的比較函式,適用於整型 int 升序 */
int cmp(const void *a,const void *b)
int main()}}
return 0;
}執行結果:
count=59103 e=2.069360
以上按你原來的思路,對所有可能的牌面組合排序和計算張數,得出概率即期望值。
說實話這種死算的方法有點無趣,前面 xoaxa 給出的隨機模擬方法更有意思。
你之前死迴圈,原因應該是把a[0]~a[3]做為迴圈變數,然後又在迴圈裡排序,還是升序!如果排序正常,最外層迴圈的a[0]會不斷被改回1,永遠無法結束。
排序這部分
for(k=j+1;k<4;k++)
if(a[k]
應該是少了一組{},陣列a裡面的值直接就亂了。
還有這段
while(s<13)
}第一,s 沒有賦初值 0 , 數值未知,有可能進不了迴圈;第二,進了迴圈,如果遇到這種情況,a[0]~a[3] 4個數的總和還小於13,就會再次進入for迴圈(這種情況第一次進迴圈就會碰到,此時a[0]~a[3]都是1,總和才4!結果就是count值錯誤)。
10樓:小懶喵
稍等,我看看
你那個e是起什麼作用的呀
11樓:it孤鶩
你的**中間搞個選擇排序幹嘛?不懂你**幹嘛
c中,53和53是如何計算的,他們的結果一樣麼
5 3 2,5 3 2。既然 是取餘除,那剩下的餘數肯定與被除數同符號,否則就太不可思議了 求餘符號跟正負沒有關係。n m的定義是 n k m p,n m k p是整數。k n m 方括號的含義是不大於n m的最大整數 5 1 3 2 此時,k n m 5 3 1 餘數p 2 5 1 3 2 此時,...
c中如何計算任何正整數的各位數字之和
解題思路 取得一個正整數各位數字之和,首先就是要分離出各位上的數字。可以通過取餘運算子 和除號 來完成,具體的思路如下 比如要求123這個整數各位數字的和。第一步是先將123除以10取餘數,得到3 第二步是把123除10取整得到12,然後再把12除10取餘得到2 第三步是把12除10取整得到1,然後...
C中如何控制某一程式的程序,C 如何實現使用一個winfrom程式來控制另一個程式的開始和結束?
絕對原創!禁止剽竊!bat版本 rem loop echo off tasklist c 程序列表.txt find i a.exe c 程序列表.txt if errorlevel 1 goto r else goto n nfind i b.exe c 程序列表.txt if errorleve...