2、編寫程式數一下1到100的所有整數中出現多少次數字9。在寫程式之前先把這些問題考慮清楚:
這個問題中的迴圈變數是什麼?
這個問題中的累加器是什麼?用加法還是用乘法累積?
在第 2 節 「if/else語句」的習題1寫過取乙個整數的個位和十位的表示式,這兩個表示式怎樣用到程式中?
#include/*統計一串數字中間(從min到max)乙個數值(n,n為個位數)出現的次數(i)*/
/*對該數除10取整取餘,餘數為個位,商繼續除10取整取餘,將個位數和十位數與n對比*/
int main()
*/ int num=min;
int i=0;
/*n非0時候*/
while ( num<=max )
while ( b>10 )
} if ( b==n && n!=0 )/*n為0的時候個位數的十位也算0不考慮*/
num=num+1;
}/*n等於0的時候之前都加1,此處還原
if ( c==0 )
*/ printf ("there are %d %d from %d to %d!\n",i,n,min,max);
return 0;
}
程式是修改後的,可以統計非負整數任意範圍內某任意數字出現的次數。
之前把問題複雜化了,可以一直取余到個位只用個位進行對比就可以了,根本不用考慮十位,修改後的**如下:
#include/*統計一串數字中間(從min到max)乙個數值(n,n為個位數)出現的次數(i)*/
/*對該數除10取整取餘,餘數為個位,商繼續除10取整取餘,將個位數與n對比*/
int main()
while ( b>0 )
} num=num+1;
} printf ("there are %d %d from %d to %d!\n",i,n,min,max);
return 0;
}
Linux C程式設計一站式學習
北京亞嵌教育研究中心 ps ef grep sctp grep全稱是global regular expression print,表示全域性正規表示式.gdb除錯又看一遍。迅速用起 pthread cond timedwait 條件變數是利用執行緒間共享的全域性變數進行同步的一種機制,主要包括兩個...
Linux C程式設計一站式學習 筆記
關於程式的討論裡提到了c語言的可移植,原本不知道為什麼,現在知道,原來是因為各種平台上都有c語言的編譯器,這就好像是一種由於廣泛使用而成為規範的東西一樣,當所有機器上都有你的編譯器的時候,你的可移植性當然強了。之前看v6shell的 就沒明白詞法和語法有什麼差別,這裡講到了詞法就是單詞 token ...
LinuxC程式設計一站式學習 堆疊
本科學習資料結構時實踐比較少,因此最近開始複習,看到 既可以打基礎,又可以順便學習linux的知識。原始 include define max row 5 define max col 5 struct point stack 512 int top 0 int maze 5 5 void push...