要求:
给定一个十进制正整数n,计算其中出现的“1”的个数。例如当n=2时,只出现了1个“1”;当n=12时,分别为1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。边界条件为n<100。
代码:
#include<iostream>
using namespace std;
int main()
{
int n,b,c;
cin >> n;
b = n / 10;
c = n % 10;
if (b == 0)//n为个位数时,因为n大于等于1,故"1"的数为1.
cout<<"Number of one in " << n << " is 1.";
else if (b == 1)//如果n是十几
{
if (c == 0)//如果n为10
cout << "Number of one in 10 is 2.";
else if (c == 1)//如果n为11
cout << "Number of one in 11 is 4.";
else//n为大于11,小于20