题目:
main函数中输入一个正整数,调用函数calc_number求出此正整数中每个数字的个数,并把结果返回main函数,并在main函数中输出结果。
输出:例如:输入378445,应产生入下输出:
数字0的个数:0
数字1的个数:0
数字2的个数:0
数字3的个数:1
数字4的个数:2
数字5的个数:1
数字6的个数:0
数字7的个数:1
数字8的个数:1
数字9的个数:0
代码:
#include <iostream>
using namespace std;
void calc_number(int &count0, int &count1, int &count2, int &count3, int &count4, int &count5, int &count6, int &count7,
int &count8, int &count9, int n)
{ int i, count = 0;
for (i = n; i > 0; i /= 10)
{ count++;
}
cout << count << endl;
int j, m;
for (j = 0; j < count; j++)
{ m = n % 10;
n = n / 10;
switch (m)
{ case 0:
count0++;
break;
case 1:
count1++;
break;
case 2:
count2++;
break;
case 3:
count3++;
break;
case 4:
count4++;
break;
case 5:
count5++;
break;
case 6:
count6++;
break;
case 7:
count7++;
break;
case 8:
count8++;
break;
case 9:
count9++;
break;
}
}
}
int main()
{ int count0 = 0, count2 = 0, count1 = 0, count3 = 0, count4 = 0, count5 = 0, count6 = 0, count7 = 0, count8 = 0,
count9 = 0, n;
cout << "请输入一个正数:";
cin >> n;
calc_number(count0, count1, count2, count3, count4, count5, count6, count7, count8, count9, n);
cout << "数字0的个数:" << count0 << endl;
cout << "数字1的个数:" << count1 << endl;
cout << "数字2的个数:" << count2 << endl;
cout << "数字3的个数:" << count3 << endl;
cout << "数字4的个数:" << count4 << endl;
cout << "数字5的个数:" << count5 << endl;
cout << "数字6的个数:" << count6 << endl;
cout << "数字7的个数:" << count7 << endl;
cout << "数字8的个数:" << count8 << endl;
cout << "数字9的个数:" << count9 << endl;
return 0;
}
注意:
int count0 = 0, count2 = 0, count1 = 0, count3 = 0, count4 = 0, count5 = 0, count6 = 0, count7 = 0, count8 = 0,count9 = 0, n,用数组存比较好