Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 一维数组乘法_C - Fatal编程技术网

C 一维数组乘法

C 一维数组乘法,c,C,我无法根据给定的输入获得预期的输出。请帮助我了解这段代码的逻辑部分。我需要加上所有的价格和每张账单的金额,不需要给折扣和打印结果的账单 输入: 3 2 150 3 65 1 1550. 预期产出: Bill amount 2045, discount 102, result 1943 我的输出: bill amount 10590, discount 9531, amount to be paid 0 代码: #包括 int main() { int n,a[10],i,j,b[10],r

我无法根据给定的输入获得预期的输出。请帮助我了解这段代码的逻辑部分。我需要加上所有的价格和每张账单的金额,不需要给折扣和打印结果的账单

输入:

3 2 150 3 65 1 1550.
预期产出:

Bill amount 2045, discount 102, result 1943
我的输出:

bill amount 10590, discount 9531, amount to be paid 0
代码:

#包括
int main()
{
int n,a[10],i,j,b[10],r=0,p=0,q=0;
printf(“输入项目编号\n”);
scanf(“%d”和“&n”);

对于(i=1;i您不需要嵌套循环。两个数组并行工作,因此只有一个循环可以完成。您将数量乘以所有产品的价格,而不仅仅是对应于该数量的产品

如果从
0
而不是
1
开始循环,代码将大大简化,因为数组索引就是从这里开始的

for (i = 0; i < n; i++) {
    r += a[i] * b[i];
}
很明显,您只需要一个循环:

for (i = 0; i < n; i++) {
    r += items[i].quantity * items[i].price;
}
应该是:

p = r * 0.05;
您稍后在打印
r-p
时进行减法运算。结果是,您显示了要支付的折扣总额,以及要支付的折扣总额


您不需要嵌套循环。两个数组并行工作,因此只有一个循环可以完成。您将数量乘以所有产品的价格,而不仅仅是对应于该数量的产品

如果从
0
而不是
1
开始循环,代码将大大简化,因为数组索引就是从这里开始的

for (i = 0; i < n; i++) {
    r += a[i] * b[i];
}
很明显,您只需要一个循环:

for (i = 0; i < n; i++) {
    r += items[i].quantity * items[i].price;
}
应该是:

p = r * 0.05;
您稍后在打印
r-p
时进行减法运算。结果是,您显示了要支付的折扣总额,以及要支付的折扣总额



请(在问题中)提供示例输入、预期输出、实际输出。为什么有这么多全局变量?格式/缩进有点……不令人满意:(你到底想得到什么,你面临的问题在哪里?你的问题(对我来说)不清楚。啊……Barmar澄清了:)请(在问题中)提供示例输入、预期输出、实际输出。为什么有这么多全局变量?格式/缩进有点……不令人满意:(你到底想得到什么,你面临的问题是什么?你的问题(对我来说)不清楚。啊……巴尔马理顺了:)谢谢,我确实改变了,但是逻辑仍然不正确,我得到的输出是错误的。这不是解决了账单金额的问题吗?不,它没有解决它,你能用上面提到的输入运行它并检查我的逻辑哪里出了错。提前感谢我添加了一个演示,它工作了。我还修复了计算折扣的部分。非常感谢@Barmar,它已经起作用了,你能告诉我哪里出了问题,这样我就可以了解它。这可能是一种直接向你提问的方式。谢谢你,我确实改变了,但逻辑仍然不正确,我得到的输出是错误的。这不解决账单金额的问题吗?不,它没有解决问题,你能吗请使用上面提到的输入运行它,并检查我的逻辑哪里出了问题。提前感谢我添加了一个演示,它可以工作。我还修复了计算折扣的部分。非常感谢@Barmar,它已经工作了,您能告诉我哪里出了问题,以便我可以了解它。这可能是一种直接询问您疑问的方式。提前感谢