/*
播布客教学视频_C学习笔记_8.1_统计1到100中9的个数(分治)
1.自下而上来设计,一个大问题分治为小问题
(一个数字里面里面有几个9,一个数字的个位数里面有几个9)
2.for,while,if,打印语句,输入输出函数的使用
3.编译方法使用
4.通过函数设计实现
*/
#include<stdio.h>
int main(void)
{
int num ;
int counter = 0;
int sum = 0;
int i = 0;
int max = 0;
printf("please input a number\n");
scanf("%d",&max);
printf("sumary 9 from 1 to %d\n4",max);
//尽量不改变内层循环,使用其他变量名
for(i = 1;i <= max;i++)
{
num = i;//变量不互相影响了
counter = 0;//清零操作
// 判别任意每个数中有多少个9
while(num != 0)
{
if(num % 10 == 9)
counter++;
num /= 10;
}
#if debug
printf("num = %d, counter = %d\n",i,counter);
#endif
sum += counter;
}
printf("sum = %d\n",sum);
return 0;
}