最初的問題是這樣的:提示:n通過引數傳入
思路出爐的時候可以順便(或者必須)其他幾個數出現的次數一併求了,所以就設計了這樣的程式:
#include
int main()
;//
printf("please input a number:");
scanf("%d",&n);
for(i = n;i > 0;i--)
}printf("%d\n",a[9]);
return 0;}
通過申請了乙個10元素的陣列分別存放0-9出現的次數,再設計迴圈,從n開始每個記錄出現的數字,並在相應陣列元素處加1,以此輸出。不過既然題目要求只輸出9的個數,那就這樣吧。
有興趣不妨驗證一下,嘿嘿。
0 400中1出現了多少次?
今天小菜無意間在社群看到乙個討論 0 400中1出現了多少次?小菜看到大部分給出的演算法是基於字串的處理,思路大致是 把所有數字拼接成乙個字串,然後對字串進行處理,進而獲取出現次數。例如以下 1 2 版本 3 找出 1 出現的次數4 5function numbercount1 n 10var s ...
1 n中1出現的次數
輸入乙個整數 n 求1 n這n個整數的十進位制表示中1出現的次數。例如,輸入12,1 12這些整數中包含1 的數字有1 10 11和12,1一共出現了5次。示例 1 輸入 n 12 輸出 5 示例 2 輸入 n 13 輸出 6 解析需要通過找規律來分析。假設我們對5014這個數字求解。1 個位上1出...
1 n整數中1出現的次數
示例 1 輸入 n 12 輸出 5 示例 2 輸入 n 13 輸出 62.1 思路分析 題目要求1 n中1出現的次數,考慮將n轉換為字串,然後統計字元1的個數,但這樣會超時 既然1不行,換一種思路,將n轉換為字串後,可以容易確定n的位數 利用for迴圈,從個位開始直到最高位,計算每一位上1出現的次數...