循环帮助正确输出倍数
Loop help Outputting Multiples properly
程序的工作是在一行上输出所有小于n的k的非负倍数,并使用3个不同的循环(按顺序:while、for、do while)进行三次输出。每一个树时间,倍数(如果有多个)都用逗号分隔,第一个数字之前或最后一个数字之后没有逗号。你的程序运行的一个例子可能是:
5 40
0、5、10、15、20、25、30、35
0、5、10、15、20、25、30、35
0、5、10、15、20、25、30、35
我是第一次学习编程,这是我在Visual Studio 2012上的作业之一。我正在努力处理所有的循环,到目前为止已经写出了2(while循环和for循环)。我的两个循环都输出了#,输出语句中逗号的位置也不正确。运行我的程序:
5 40
,0,1,6,31
0,10,60
我的代码:
#include <iostream>
#include <string>
using namespace std;
bool die ( const string msg );
void recover();
int main (){
unsigned k, n;
cout <<"Input 2 #'s: " <<endl;
cin >>k >>n || die( "Input Failure" );
if ( k == 0 || n == 0 ) die( "Number Can't Be 0" );
unsigned i = 0;
while( i < n){ //
cout <<" ," <<i;
i *= k;
i++;
}
cout <<endl;
for( i = 0; i < n; i++){
recover;
i *= k;
cout <<i <<" ,";
}
cout <<endl;
} // main
`
您知道该系列应该是
0, 5, 10, 15, 20, 25, 30, 35
我们将执行while
循环。在英语中,就"while"而言,程序将是"从0开始,然后只要低于40,就增加5"。
unsigned i = 0; // start with 0
while( i < n){ // as long as it's below 40
cout <<" ," <<i;
i += k; // increase by 5
}
cout <<endl;
为了正确使用逗号,我们必须将第一个数字或最后一个数字视为特例。也就是说,我们必须把","放在除第一个数字以外的每个数字之前,或者放在除最后一个数字之外的每个数字之后。第一个比较简单:
unsigned i = 0; // start with 0
while( i < n){ // as long as it's below 40
if( i > 0 )
cout <<" ,";
cout << i;
i += k; // increase by 5
}
cout <<endl;
这应该足以让你开始。当你尝试do-while
时,如果开头和结尾的数字不太正确,就在纸上遍历循环——你必须得到正确的运算顺序。对于for
,您有三个不同的参数可供使用,即初始值、结束条件和步长,所以只需使用它们,直到您看到如何使其为您提供所需的序列。
相关文章:
- 我需要帮助在一个类中输入两个字符串并获取其输出
- 康威的生命游戏帮助我理解这个意想不到的输出
- 需要帮助我如何获得不同的输出
- For-Loop帮助获得错误的输出
- 这个输出是如何来的.解释(家庭作业帮助)
- C ++帮助我理解为什么没有输出
- infix/postfix/prefix程序.想要使用我的printresult()函数打印结果.需要帮助获得输出
- 有人可以帮助我纠正此"Prime Numbers below 100"代码的输出吗?
- 在将数组与字符数组进行比较后需要帮助输出一次结果
- 谁能帮助我解决以下 c++ 代码中的问题?该程序不提供任何输出
- 我有n个空格,在每个空格中,我可以放置一个数字0到m.编写一个程序来输出所有可能的结果.需要帮助:)
- 需要帮助输出长字符串
- 面向对象C++帮助?出于某种原因,对象变量的输出返回数值数组位置而不是实际值
- 需要帮助格式化字符串输出
- 家庭作业帮助:用户制作的列表输出
- 需要帮助从不同的功能输出内容(C++)
- 需要帮助将数据文件转换为特定输出
- 循环帮助正确输出倍数
- 在布尔矩阵中查找唯一的行(帮助解析std::string的垃圾输出)
- 投票程序CPP帮助(错误输出)