|
*停權中*
您的住址: 仙女銀河星系, 跨克星
文章: 1,791
|
回覆: 回覆: 回覆: 會c++的大大幫個忙......
引用:
Originally posted by 銀色三冠王IS
剛剛想到以前用過陣列的方法..
配合asdf77885511提到的做法..
基本上一開始宣告的還是差不多,但原本用來計次數的10個變數count_1 ..~ _10
改成用陣列宣告 int count[10]; //大小為10,實際指標為數字0~9 //
原輸入數值除以10 ,餘數為 x , 則陣列 count[x]+=1; (餘數範圍一定在0~9)
得的商繼續除以10 ,餘數為 x , 則陣列 count[x]+=1;
迴圈總共作六次,就可以從陣列count[] 中得到每個數字出現過的次數.
這樣真的不需要30行..也不需要用到switch.
不過大家還是幫原作者想想C語言switch解決這題目的方式吧..
畢竟先交出老師要求的方式比較重要..
|
我上面貼的 QB 程式, 若換成 Perl 程式, 甚至可以壓縮到20列以內
若以 Switch 也可以配合長整數陣列, 而不要宣告很多個長整數
這樣就會使程式很有彈性, 而且易於修改 
不過這種Switch語法.... Perl 寫不出來.... Perl 沒有這種語法.....(至少我沒看過)
ps. 我不會 C++ =.=, 目前正努力學習 Gtk2-Perl 中
用除法求餘數雖然可以, 但數值若很長
給你50位數, 馬上死在路邊 
|