找“1”的个数

问题:给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现“1”的个数。

课上先试数然后总结规律最后编程。

代码:

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int i;
 7     int N;
 8     int temp;
 9     int num = 0;
10 
11     cout << "cin a num :   ";
12     cin >> N;
13     for (i = 1; i <= N; i++)
14     {
15         temp = i;
16         while (temp != 0)
17         {
18             if (temp % 10 == 1)
19             {
20                 num++;
21             }
22             temp = temp / 10;
23         }
24     }
25     cout << num << endl;
26 }

感想:代码虽短但算法,这种思考不易。且行且思考。。。

posted @ 2015-05-03 18:16  mtant  阅读(115)  评论(0编辑  收藏  举报