所以我想要做的是做一個頻率的直方圖a,b,c,d和其他。我想知道爲什麼當我給程序輸入一個「abcde」的輸入時,'e'只出現一次時,'other'被計入多次。K&R練習1-14
我在尋找與輸入「ABCDE」的輸出爲
a:x
b:x
c:x
d:x
other:x
實際ķ& [R運動是打印出現在輸入不同字符的直方圖。我的代碼看起來效率極低,所以我想知道我是否在正確的方向來回答這個練習。任何指導將不勝感激。代碼如下。
#include<stdio.h>
main()
{int i,c,na,nb, nc,nd,nother;
na=nb=nc=nd=nother=0;
while((c = getchar()) != EOF){
if(c== 'a')
na++;
if(c== 'b')
nb++;
if(c== 'c')
nc++;
if(c== 'd')
nd++;
else nother++;
}
printf("a:");
for(i==0;i<na;i++){
putchar('x');}
printf("\nb:");
for(i=0;i<nb;i++){
putchar('x');}
printf("\nc:");
for(i=0;i<nc;i++){
putchar('x');}
printf("\nd:");
for(i=0;i<nc;i++){
putchar('x');}
printf("\nother:");
for(i=0;i<nother;i++){
putchar('x');}
}
'for(i == 0; i
Patashu
順便說一句,有沒有人知道爲什麼此代碼(與接受的答案中提出的編輯)在Ideone工作,但無法在代碼塊中工作?即使我輸入的其他代碼在Ideone中都有效,但在代碼塊中不起作用。有誰知道爲什麼?我在CodeBlocks中輸入我的輸入,但沒有出現。 – MethequalsMath