c++ - 语法 - C++ - 无法使我的代码正常工作

标签 c++ syntax

我正在尝试让我的程序计算所有这些乘法: 999*999 , 999*998, 998*998, 998*997, ......... 直到 100*100.

现在,它只计算 999*999 998*998 997*997 ... 100*100。 我不明白为什么?你能看看我的代码吗? 谢谢 BR

#include <iostream>
#include <vector>
#include <cmath>


int main () {
    int i = 999;
    int j = 999;
    while (j >= 100) {
        i == j ;
        while (i >= j-1) {
            std::cout << i*j  << std::endl;
            i -= j;
        }
        j = j-1;
    }

    return 0; 
}

最佳答案

你没有正确地看到你的循环。尝试先将要计算的数字写在表格中,然后用它来构建循环。

对于第一个循环变量的一个值 - 称它为 i,您希望它乘以 1、2、3(等等)j 的值。

不管 j 的那些值实际上是什么,您的循环应该如下所示:

for(int i=999; i>=100; --i)
     for(int j=999; j>=i; j--)
           ; //computation goes here

这里可以清楚地看到,对于i的一个值,当i=999时,您将使用j的一个值,然后是两个值j 个,然后是三个...

如果您是编码新手,我建议您从 for 循环开始,当您对前者感到满意时切换到 while

关于c++ - 语法 - C++ - 无法使我的代码正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40787607/

相关文章:

rust - 理解 &type + 'a 语法

python - 字符串在 `eval` 语句中被视为变量

MYSQL - 引用的表/字段名称与未引用的名称

javascript - 如果注释是安全的,那么为什么 `x = 0; x+/*cmt*/+;` 或 `var f/*cmt*/oo = ' foo';` 不起作用?

Perl 语法错误 - elseif 应该是 elsif at

c++ - 使用左值引用错误地调用了右值引用构造函数

c++使用iconv从UTF-8转换为wstring

c++ - 有没有办法强制 gcc 为 block 启动一个新的堆栈帧?

c++ - 经过一定时间后调用函数

c++ - 帮助解决类型转换错误