1到 100 的所有整数中出现多少次数字9
编译环境VS2017
此问题中需要考虑个位和十位的数字是否出现9,即将问题转化为求各位数字再判断的问题。
不管正整数是几位,个位数字为i % 10。
如果位数增大,则可将十位以上位转化为个位的方法。例如25,先(int)325/10=32,再32%10=2即计算出了十位数字。
最高位数字算法,三位数/100,四位数/1000…,以此类推。
#include<stdio.h>
#include<stdlib.h>
void main() {
int num = 0;
for (int i = 1; i <= 100; i++) {
if (i % 10 == 9)
num++;
if ((i / 10) % 10 == 9)
num++;
}
printf("从1到100中的所有整数中数字9出现的次数为:%d\n", num);
system("pause");
}
运行结果如图