如何从数组中减去相同的数字
How to subtract the same number from an array
我正在练习下面的语句:
您负责由多节货车组成的铁路货运车队。你启动了火车,几分钟后你意识到一些车厢超载并且在 rails 上的重量过重,而其他车厢则轻得危险。所以你决定让火车停下来,更均匀地分配重量,让所有的车厢都具有完全相同的重量(总重量不变)。为此,您编写了一个程序来帮助您分配重量。
您的程序应首先读取要称重的汽车数量(整数),然后读取汽车的重量(双精度)。然后你的程序应该计算并显示每辆车要增加或减少多少重量,以使每辆车具有相同的重量。所有汽车的总重量不应改变。这些加减权重要显示一位小数。
您可以假设不超过 50 节车厢。
示例 1
在此示例中,有 5 辆箱车,重量总和为 110.0。输出显示我们正在修改所有货车车厢,使它们各自承载 22.0 的重量(这使得整列火车的总重量为 110.0)。所以我们为第一节车厢删除 18.0,为第二节车厢添加 10.0,为第三节车厢添加 2.0,依此类推。
输入
5个
40.0
12.0
20.0
5.0
33.0
输出
-18.0
10.0
2.0
17.0
-11.0
到目前为止我已经做了:
#include <stdio.h>
int main()
{
int num, cellNumber = 0, sum = 0, i;
double w = 0, arr_w[50], obj, arr_new[50];
scanf("%d", &num);
for (i = 0; i<num;i++){
scanf("%lf", &w);
arr_w[cellNumber] = w;
cellNumber = cellNumber + 1;
sum = sum + arr_w[i];
}
obj = sum/num;
arr_new = ???????
return 0;
}
用输入创建数组后,我计算了分布权重 (obj) 的值。
现在我需要通过减法 (obj - w)(在示例中:22- w)来创建输出向量(新)。我是否应该仅使用 obj 的值创建一个新向量并减去 arr_w 的每个值?
我该怎么做?
使用 for 循环用你的数组减去它。
for (int i=0; i<num;i++) {
printf("%.1f\n",obj-arr_w[i]);
}
我正在练习下面的语句:
您负责由多节货车组成的铁路货运车队。你启动了火车,几分钟后你意识到一些车厢超载并且在 rails 上的重量过重,而其他车厢则轻得危险。所以你决定让火车停下来,更均匀地分配重量,让所有的车厢都具有完全相同的重量(总重量不变)。为此,您编写了一个程序来帮助您分配重量。
您的程序应首先读取要称重的汽车数量(整数),然后读取汽车的重量(双精度)。然后你的程序应该计算并显示每辆车要增加或减少多少重量,以使每辆车具有相同的重量。所有汽车的总重量不应改变。这些加减权重要显示一位小数。
您可以假设不超过 50 节车厢。
示例 1 在此示例中,有 5 辆箱车,重量总和为 110.0。输出显示我们正在修改所有货车车厢,使它们各自承载 22.0 的重量(这使得整列火车的总重量为 110.0)。所以我们为第一节车厢删除 18.0,为第二节车厢添加 10.0,为第三节车厢添加 2.0,依此类推。
输入 5个 40.0 12.0 20.0 5.0 33.0
输出 -18.0 10.0 2.0 17.0 -11.0
到目前为止我已经做了:
#include <stdio.h>
int main()
{
int num, cellNumber = 0, sum = 0, i;
double w = 0, arr_w[50], obj, arr_new[50];
scanf("%d", &num);
for (i = 0; i<num;i++){
scanf("%lf", &w);
arr_w[cellNumber] = w;
cellNumber = cellNumber + 1;
sum = sum + arr_w[i];
}
obj = sum/num;
arr_new = ???????
return 0;
}
用输入创建数组后,我计算了分布权重 (obj) 的值。 现在我需要通过减法 (obj - w)(在示例中:22- w)来创建输出向量(新)。我是否应该仅使用 obj 的值创建一个新向量并减去 arr_w 的每个值?
我该怎么做?
使用 for 循环用你的数组减去它。
for (int i=0; i<num;i++) {
printf("%.1f\n",obj-arr_w[i]);
}