我的输出中有额外的星号
Additional asterisks in my output
我知道增量运算符 = ++i 是 shorthand for i = i +1
而减量运算符的 shorthand 是 --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?
而有额外的两个星号
在此先感谢您的帮助和建议。
你用什么语言编写代码?
你可以试试:
numStars = 12;
numPrinted = 0;
while (numPrinted < numStars) {
numPrinted = numPrinted + 1; //increment by one
System.out.print("*"); /* Print one asterisk */
}
从0开始数,否则打印11个星号。
您的循环将继续,直到 numPrinted 大于或等于 numStars。
如果您知道需要 12 个循环,则不应更改 numStars 的值,而应仅更改 numPrinted 的值。
此外,numPrinted 不应从 1 开始。这将导致 11 星。
构造循环的正确方法(如果您希望使用 while 循环而不是 for 循环)如下:
numStars = 12;
numPrinted = 0;
while (numPrinted < numStars) {
numPrinted = numPrinted + 1;
System.out.print("*");
}
星星数 = 12;
numPrinted = 1;
while (numPrinted <= numStars) {
numPrinted = numPrinted + 1;
cout << "*";
}
我正在编写 C++,值 numPrinted = 1,numStars 的值是循环次数。这个循环 12 次并在行中打印 12 个星号。
我知道增量运算符 = ++i 是 shorthand for i = i +1
而减量运算符的 shorthand 是 --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?
而有额外的两个星号在此先感谢您的帮助和建议。
你用什么语言编写代码?
你可以试试:
numStars = 12;
numPrinted = 0;
while (numPrinted < numStars) {
numPrinted = numPrinted + 1; //increment by one
System.out.print("*"); /* Print one asterisk */
}
从0开始数,否则打印11个星号。
您的循环将继续,直到 numPrinted 大于或等于 numStars。
如果您知道需要 12 个循环,则不应更改 numStars 的值,而应仅更改 numPrinted 的值。
此外,numPrinted 不应从 1 开始。这将导致 11 星。
构造循环的正确方法(如果您希望使用 while 循环而不是 for 循环)如下:
numStars = 12;
numPrinted = 0;
while (numPrinted < numStars) {
numPrinted = numPrinted + 1;
System.out.print("*");
}
星星数 = 12; numPrinted = 1;
while (numPrinted <= numStars) {
numPrinted = numPrinted + 1;
cout << "*";
}
我正在编写 C++,值 numPrinted = 1,numStars 的值是循环次数。这个循环 12 次并在行中打印 12 个星号。