用C语言解决加工生产调度问题。要求多组输入,每组数据的第一行仅一个正整数n(0<n<1000),表示产品的数量。接下来n个数据是表示这n个产品在A车间加工各自所要的时间 (都是整数)。最后的n个数据是表示这n个产品在B车间加工各自所要的时间 (都是整数)。要求每组输入一个数据,表示最少的加工时间
时间: 2023-11-27 15:51:07 浏览: 111
C语言编程设计解决方案
以下是用C语言解决加工生产调度问题的代码:
```c
#include <stdio.h>
#define MAX_N 1000
int main() {
int n, a[MAX_N], b[MAX_N];
while (scanf("%d", &n) == 1) {
// 读入数据
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (int i = 0; i < n; i++) {
scanf("%d", &b[i]);
}
// 计算最少的加工时间
int time = 0, sum_a = 0, sum_b = 0;
for (int i = 0; i < n; i++) {
if (sum_a < sum_b) {
time += a[i];
sum_a += a[i];
} else {
time += b[i];
sum_b += b[i];
}
}
// 输出结果
printf("%d\n", time);
}
return 0;
}
```
该程序使用了循环读入多组输入,并对每组输入进行处理。在处理每组输入时,先读入数据,然后根据贪心策略计算最少的加工时间,最后输出结果。其中,贪心策略是:每次选择加工时间较短的车间来加工产品,使得总加工时间最少。
阅读全文