我很难用增量值来添加起始值,直到它到达结束值为止,或者它无法再添加,因为它将超过最大值(结束值)。
好的,我要直说了,这是我的作业。
在这个赋值中,您将完成一个C++程序,该程序在一系列值中总结整数并打印结果。这将有两种不同的方式:使用while循环和使用for循环。
对于这个赋值,您有更多的自由选择需要声明的局部变量和计算要编写的源代码。但是,您的程序需要遵循本课程的编码标准,并满足下一节中描述的软件需求。
下面是程序的示例执行。在本例中,程序将数字8, 25, 42, 59, 76, 93, and 110相加。您的程序应遵循下面所示的格式,以提示用户并打印结果。
输入起始整数值:8
输入一个结束整数值: 121
输入一个正增量: 17
Sum (使用while循环):413
Sum (使用for循环):413
到目前为止,我的代码有如下所示
#include <iostream>
using namespace std;
int main(){
//while loop sum
int sumw = 0;
//for loop sum
int sumf = 0;
//starting integer
int nums;
//ending integer
int nume;
//increment integer
int numi;
cout <<"Please enter a starting value: " << endl;
cin >> nums;
cout <<"Please enter an ending value: " << endl;
cin >> nume;
cout <<"Please enter a positive increment value: " << endl;
cin >> numi;
if (numi <= 0 || nums > nume) cout << "Error ";
if (numi <= 0 || nums > nume) return 0;
for (int i = 1; i <= numi; i++){
sumf =+ numi;
}
cout << "Sum(using for loop): " << sumf;
return 0;
}如果有人能帮我,那就太好了!谢谢你!!
发布于 2018-10-23 19:10:15
假定起始数大于或等于1(>=1)。使用while循环:
#include <iostream>
using namespace std;
int main()
{
int totalSum = 0, startingNumber, endingNumber, positiveIncrement;
cout <<"Enter the starting number: " << endl;
cin >> startingNumber;
cout <<"Enter the ending number: " << endl;
cin >> endingNumber;
cout <<"Enter the positive increment: " << endl;
cin >> positiveIncrement;
if ((startingNumber <= 0) || (startingNumber > endingNumber))
{
cout<<"Error in input provided"<< endl;
return 0;
}
totalSum = startingNumber;
while ((startingNumber + positiveIncrement) <= endingNumber)
{
startingNumber += positiveIncrement;
totalSum += startingNumber;
}
cout << "Total Sum = " << totalSum;
return 0;
}使用for循环:
#include <iostream>
using namespace std;
int main()
{
int totalSum = 0, startingNumber, endingNumber, positiveIncrement;
cout <<"Enter the starting number: " << endl;
cin >> startingNumber;
cout <<"Enter the ending number: " << endl;
cin >> endingNumber;
cout <<"Enter the positive increment: " << endl;
cin >> positiveIncrement;
if ((startingNumber <= 0) || (startingNumber > endingNumber))
{
cout<<"Error in input provided"<< endl;
return 0;
}
for ((totalSum = startingNumber);((startingNumber + positiveIncrement) <= endingNumber);(startingNumber += positiveIncrement))
{
totalSum += (startingNumber+positiveIncrement);
}
cout << "Total Sum = " << totalSum;
return 0;
}发布于 2018-10-23 18:23:51
这可能就是你要找的
for (int i = nums; i <= nume; i = (i + numi)){
sumf += i;
}从nums开始,直到您小于或等于nume并以numi的步骤递增i,即i = i + numi
此外,还可以结合:
if (numi <= 0 || nums > nume) cout << "Error ";
if (numi <= 0 || nums > nume) return 0;至
if (numi <= 0 || nums > nume){
cout << "Error ";
return 0;
}发布于 2018-10-23 18:25:18
请参阅好参考中for语句的定义:
increment),for (初始化器,终止条件
第三个参数是增量。
你可以这样做:
for (int i = nums; i < nume; i = i + numi)
{
}在循环中,您将知道需要和什么以及如何进行。
https://stackoverflow.com/questions/52955336
复制相似问题