C++ 我能';我无法找出代码没有显示预期结果的问题

C++ 我能';我无法找出代码没有显示预期结果的问题,c++,C++,编写一个程序,从用户那里获取两个正的一位数整数。然后 打印可被这两个整数整除的1到1000之间的所有数字。 每行打印十个数字,并用制表符隔开。(“\t”) 我已经做了一个代码来打印1-1000之间的数字,这些数字可以被两个数字x和y整除 #include <iostream> using namespace std; int main() { int x, y; cout << "Enter two positives single digit integers: ";

编写一个程序,从用户那里获取两个正的一位数整数。然后 打印可被这两个整数整除的1到1000之间的所有数字。 每行打印十个数字,并用制表符隔开。(“\t”)

我已经做了一个代码来打印1-1000之间的数字,这些数字可以被两个数字x和y整除

#include <iostream> using namespace std; int main() {

int x, y;
cout << "Enter two positives single digit integers: ";
cin >> x >> y;
    for (int i = 1; i <= 1000; i++) {
        if ( i % x == 0 && i % y == 0)
            cout << i << '\t';
            if (i % 10 == 9)
            cout << endl;
        else i++;    
    }
    return 0; }

“i%10==9”应该是0而不是9,因为您希望在一个可被10整除的数字(意味着没有余数)之后结束该行。在for循环中第二次迭代i是错误的,因为for循环最初就是这样做的。这只是一些坏的基础,重读C++入门书或看更多教程。

我想你需要退一步,重读你的教科书中关于循环和条件的复合语句。你有一些额外的分号,你不应该有。。。。“我建议学习调试或“穷人调试”(将cout语句放在正确的位置)@Marged我更新了它。我无意中发布了它的旧版本。我很难让数字在10位之后进入新行。在10次尝试后或在10个打印数字之后?Twin
i++
。你确定吗
i%10==9
在9之后创建新行,然后在每个10之后创建新行,从19开始。
Enter two positive single digit integers: 5 6
30  60  90  120 150 180 210 240 270 300
330 360 390 420 450 480 510 540 570 600
630 660 690 720 750 780 810 840 870 900
930 960 990