在c ++中嵌套for循环

时间:2018-01-21 14:08:33

标签: python c++

在学校我们只学习python,我想自己学习c ++。我已经学习了基础知识,现在我尝试用两种语言解决教科书中的问题。

n = int(input())
b=0
c=0
for i in range (1,n+1):
    b += i
    for j in range (1,i+1):
        c += j 
print(b,c)

这是在python中它运行得很好但是当我尝试将它转换为c ++时我不会得到好结果:

for (i=1;i<a+1;i++)
    d = d+i;
    for (n=1;n<i+1;n++)
        c = c+n;

(我没有转录整个c ++代码,因为它比python长得多,只是inpunts和输出所以我只是采用了嵌套循环) 我究竟做错了什么?请帮忙

2 个答案:

答案 0 :(得分:1)

在C ++中,如果你有一个for循环,它只会循环下一个语句,而不是像python一样循环整个标识块。要做到这一点,你需要用花括号包围。像这样:

country <- "UK"
cols <- grepl(paste0(country, "|year"), colnames(a))
rows <- grepl(country, rownames(a))

a[rows, cols]
   year UK1 UK2
UK 2000   1   2
UK 2001   9  10

否则你的代码等同于:(在C ++中的识别意味着什么)

for (i=1;i<a+1;i++)
{
    d = d+i;
    for (n=1;n<i+1;n++)
        c = c+n;
}

答案 1 :(得分:0)

首先你需要{}。在C ++中{标记正文的开头,}表示语句的正文结尾,例如for循环。否则,for循环将仅迭代下一行语句:

int n = 10, b = 0, c = 0;
for (int i = 1; i <= n; i++){
    b += i;
    for (int j = 1; j <= i; j++){
        c += j;
    }
}