#include <stdio.h>
int main()
{
int a,b,c,n,count=0;
printf("请输入数字\n");
scanf("%d",&n);
for(b=1;b<=n;b++)
{
c=b;
while(c>8)//小于8的数没有9的产生
{
a=c%10;//把各个位数的数分开
if(a==9)
count++;
c=c/10;
}
}
printf("其中有%d个9\n",count);
return 0;
int main()
{
int a,b,c,n,count=0;
printf("请输入数字\n");
scanf("%d",&n);
for(b=1;b<=n;b++)
{
c=b;
while(c>8)//小于8的数没有9的产生
{
a=c%10;//把各个位数的数分开
if(a==9)
count++;
c=c/10;
}
}
printf("其中有%d个9\n",count);
return 0;
}
这道题目是C语言的基础,没有什么难点。不停的对10进行取余,把每个数的个十百分开,如果等于9,那么count++,外循环从当前数开始,一直到9停止,9以下的数没有含有9的,所以可以退出。