C语言练习题-C语言练习题实例81
题目:809*??=800*??+9*?? 其中??代表的两位数, 809??为四位数,8??的结果为两位数,9??的结果为3位数。求??代表的两位数,及809??后的结果。
程序分析:根据题目描述,我们需要找到一个两位数,使得809乘以这个两位数等于800乘以这个两位数再加上9乘以这个两位数。我们可以通过遍历所有两位数来解决这个问题。
实例
#include <stdio.h>
void output(long int b, long int i) {
printf("\n%ld = 800 * %ld + 9 * %ld\n", b, i, i);
}
int main() {
long int a, b, i;
a = 809;
for (i = 10; i < 100; i++) {
b = i * a;
if (b >= 1000 && b <= 9999 && 8 * i < 100 && 9 * i >= 100) {
output(b, i);
}
}
return 0;
}
以上实例运行输出结果为:
9708 = 800 * 12 + 9 * 12
在上述代码中,我们通过循环遍历所有的两位数,计算809乘以这个两位数的结果。然后我们检查这个结果是否满足题目中的要求,即结果是一个四位数,8乘以这个两位数的结果是一个两位数,9乘以这个两位数的结果是一个三位数。如果满足条件,则输出结果。
以上实例运行时,会输出符合题目要求的结果。例如,输出结果为 9708 = 800 12 + 9 12,表示??代表的两位数为 12,809乘以12的结果为 9708。
该程序通过遍历所有的两位数,计算乘法的结果,并进行条件判断,找到满足题目要求的结果。