最初的问题是这样的:
题目:通过编程实现,统计1~n有多少个9
提示:n通过参数传入
思路出炉的时候可以顺便(或者必须)其他几个数出现的次数一并求了,所以就设计了这样的程序:
#include <stdio.h>
int main()
{
int i,j,n;
int a[10] = {0};//
printf("please input a number:");
scanf("%d",&n);
for(i = n;i > 0;i--)
{
j=i;
while(j)
{
a[j%10]++;
j /= 10;
}
}
printf("%d\n",a[9]);
return 0;
}
通过申请了一个10元素的数组分别存放0-9出现的次数,再设计循环,从n开始每个记录出现的数字,并在相应数组元素处加1,以此输出。不过既然题目要求只输出9的个数,那就这样吧。
有兴趣不妨验证一下,嘿嘿。