在学校我们只学习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和输出所以我只是采用了嵌套循环) 我究竟做错了什么?请帮忙
答案 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;
}
}