我知道增量运算符= ++ i,是i = i +1
的简写
而减量运算符的简写是--i(递减运算符是i = i -1)。
在这种情况下,我正在尝试为numStars打印出一定数量的星号,因此我选择了增量运算符(i = i + 1)。我使用numPrinted = numPrinted + 1来增加。以下是代码的简要介绍:
numStars = 12;
numPrinted = 1;
while (numPrinted < numStars) {
numStars = numStars * numPrinted;
numPrinted = numPrinted + 1; //Went for increment since I'm assuming
additional asterisks will be shown
System.out.print("*"); /* My output produces a total of 14 asterisks
whereas the expected output wants 12 asterisks */
}
看到预期输出为12且numStars = 12,我是否需要输入numStars = numStars * numPrinted?因为我觉得这可能是我输出中有两个额外星号的原因,而不仅仅是12个星号。除非因为我决定增加numPrinted而有额外的两个星号?
提前感谢您提供的帮助和建议。
答案 0 :(得分:0)
您的循环将继续,直到numPrinted大于或等于numStars。
如果您知道需要12个循环,则不应更改numStars的值,只能更改numPrinted的值。
此外,numPrinted不应该从1开始。这将导致11颗星。
构造循环的正确方法(如果你想使用while循环而不是for循环)如下:
numStars = 12;
numPrinted = 0;
while (numPrinted < numStars) {
numPrinted = numPrinted + 1;
System.out.print("*");
}
答案 1 :(得分:-1)
你用什么语言编码?
您可以尝试:
numStars = 12;
numPrinted = 0;
while (numPrinted < numStars) {
numPrinted = numPrinted + 1; //increment by one
System.out.print("*"); /* Print one asterisk */
}
从0开始计数,否则将打印11个星号。
答案 2 :(得分:-1)
numStars = 12; numPrinted = 1;
while (numPrinted <= numStars) {
numPrinted = numPrinted + 1;
cout << "*";
}
我正在编码c ++,值numPrinted = 1,而numStars的值是循环数。此循环12次并在行中打印12个星号。