用c语言编程如下题目:有100g药品,用天平称量,砝码只有1g, 2g, 5g三种,若要求加的砝码总数为30个,有几种不同的加法?用穷举法编程求解。 **输入提示信息和格式:无 **输出格式:"%2d,%2d,%2d\n" 注:(1)不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。 (2)用纯C语言编程,所有变量必须在第一条可执行语句前定义。
时间: 2024-02-16 11:04:01 浏览: 26
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int count = 0; // 记录符合条件的加法种类数
int i, j, k; // 循环计数器
for (i = 0; i <= 100; i += 1) { // 枚举1g砝码使用的数量
for (j = 0; j <= 50; j += 1) { // 枚举2g砝码使用的数量
for (k = 0; k <= 20; k += 1) { // 枚举5g砝码使用的数量
if (i + j + k == 30 && i + 2 * j + 5 * k == 100) { // 判断砝码总数是否为30个,是否能称出100g药品
printf("%2d,%2d,%2d\n", i, j, k); // 输出符合条件的加法
count += 1; // 记录符合条件的加法种类数加1
}
}
}
}
printf("共有%d种不同的加法。\n", count); // 输出符合条件的加法种类数
return 0;
}
```
代码中的三重循环分别枚举使用1g、2g、5g砝码的数量,然后判断砝码总数是否为30个,是否能称出100g药品。符合条件的加法就输出,并记录符合条件的加法种类数加1。最后输出符合条件的加法种类数。