【发布时间】:2018-04-22 07:51:30
【问题描述】:
我收到了关于在数组中查找第一个和最后一个负数之间的数字摘要的问题,这是我的代码:
#include <iostream>
using namespace std;
int main(){
float a[] = { 1.5, 55, 5, 4.4,7.1,9,8,2,4.2, -3, -3.2, 5.2, -9 };
float eq = 0;
float sumofnums = 0;
for (int g = 0; g < 13; g++) {
if (a[g] < 0) {
sumofnums = a[g];
cout << sumofnums << endl;
}
}
我想在第一个和最后一个负数之间找到摘要,我尝试了方法: sumofnums+= a[g];但答案是 -15.2 而实际上是 -10。
【问题讨论】:
-
Yeah, I tried and the answer isn't right.你忘了告诉我们特定输入的输出和预期输出。 -
你的问题有点不清楚。所以在你的例子中你想总结
-3, -3.2, 5.2 and -9?请edit您的问题并确认和/或澄清。 -
@user8141203 找到第一个和最后一个负数的索引:然后
for(i=begin; i<=end; i++) sum+= a[i]; -
@user8141203 使用通用逻辑:1)迭代数组直到找到第一个负数(存储索引) 2)反向迭代数组直到找到第一个负数(存储索引) 3)迭代从 index1 到 index2 并求和。
-
"无法通过程序找到它?"我刚刚告诉你一种以编程方式找到它的方法。
标签: c++ arrays algorithm iterator