//第一次尝试:
#include<stdio.h> int main() { int num = 0; for (int i = 1; i <= 100; i++) { if (i < 10&&i%9==0) { num++; } else if (i>=10&&i%10==9) { num++; } else if (i>=10&&i/10==9) { num++; } } printf("%d\n", num); return 0; }
//运行过后发现代码中出现了许多没必要的操作,前两个if是可以合并的,并且还存在一些问题,99无法判断,只能找出其中的一个9,不够好。
//第二次尝试:
#include<stdio.h> int main() { int num = 0; for (int i = 1; i <= 100; i++) { if (i / 10 == 9) { num++; if (i % 10 == 9) { num++; } } else if (i % 10 == 9) { num++; } } printf("一共有 %d 个9\n", num); return 0; }
//此次做出一些改进,将冗余的判断语句去掉,并且在第一个中多加入一个判断语句,这样99就可以读出两个9了。