我正在學習C,我很難理解循環和模的用法。我知道Loops是用來縮短程序的,而Modulo用來排除剩下的部分。我的任務是「編寫一個C程序來查找單個正整數的總和」。循環和模
我剛花了幾個小時試圖瞭解這個問題。我也嘗試過。
int n,d=0,s=0;
printf("\nEnter a number\n\n");
scanf("%d",&n);
while(n>0)
{
d = n%10;
s = s+d;
n = n/10;
}
printf("\n sum of the individual digits = %d",s);
我的問題是:
誰能幫助我理解這個程序的流程?爲什麼使用Modulo?和爲什麼有N = N/10
Experiements我已經做:
當我除去d = N%10;輸出結果會打印出數字。因此它不計算。
即123 = 6 - >它給我136
當我除去線N = N/10這不是表示我的輸出。 printf語句有一個參數's'
在此先感謝!
嘗試在調試器下逐行運行您的代碼(保持監視變量'n','d'和's')。 – pmg 2011-04-26 22:57:24
如果你刪除'd = n%10',它會打印'0',因爲你永遠不會修改's',它最初是'0'。如果刪除'n = n/10',它將永遠循環,因爲你永遠不會修改'n',然後它總是> 0。一些實驗可能有用,但很難看出它們是如何實現的。更好的辦法是插入printf語句,告訴你每個步驟中的各種值(或學習使用調試器)。 – 2011-04-27 02:44:43