引用:
作者: hoio121
[php]#include <stdio.h>
修改完成,大概就像這樣囉。感謝大大的幫忙。
還有一個問題,就是我想印出答案在文件檔中。
不過打fprintf("%d",com[i]);
出現的卻不是答案,而是一串數字,請問該如何做呢...
|
不曉得你要使用的 fprintf("%d",com[i]); 的上下的程式碼,有點難猜測試啥
不過 ... 照你說的出現 一串數字,我假設的式 那個 com[i] 的 i 有問題
因為 ... 可能 i 值超過 array 的範圍變成抓錯值 ...。
如果該 array 是字串的格式,如 char com[4] 的話,直接印 fprintf("%s",com);
是印一串想要的。int 或 float 的格式就要用一些方法了
因為 com 的 array 是放 1 位數的值,因此要印出來也只能依序去印他...
用 for loop 來做
我寫的程式中就有這一段喔
語法:
for (i=0;i<4;i++)
fprintf("%d",com[i]);
如此才能全部印出,那麼你的問題也可能出在這裡,那個 i 如果是電腦的隨機值的話
會讓 com[i] 印出不對的資料,故要搭 for loop 來正確列印他 。
或是把 com [i] 的資料還原成為 1 個單一數值 (這種方式我寫的程式也有)。
假設
com [0] 為千分位、1 為百分位、2為拾位、3為個位
經過一些運算的方法還原回元數值 再加總到某一個變數硬出來
語法:
for ( i = 0; i < 4; i++ )
sum = sum + com [i] * pow(10,3-i);
fprintf("%d",sum[i]);
RS 下載你的程式再改
http://rapidshare.de/files/22843988/fix02.rar.html
這一次就不貼 改過的原碼了 ...
這樣子就能還原出原來的一個數而不是分開的方式。
這個程式當初應該用 字串的方式去寫才對 ...
會比較好寫。因為 1A 2B 的遊戲並不做 + - * / 的運算。
有空的話我會再寫一個用字串的看看。