我在C语言中有这段代码,由于某种原因而不是正确使用数字,它始终输出零。 有人可以解释一下这是怎么回事吗?我知道C#,但不了解C。
#include <stdio.h>
int main(void) {
// I want to express 1/6n*(n + 1)(2n + 1)
int n = 1;
while(n != 0){
scanf("%d", &n);
printf("%d", 1/6 * n * (n + 1) * (2 * n + 1));
}
return 0;
}
谢谢!
我正在使用Code :: Blocks + GCC编译器。
答案 0 :(得分:1)
解决方案是:
#include <stdio.h>
int main(void) {
int n = 1;
while(n != 0){
scanf("%d", &n);
printf("%d", n * (n + 1) * (2 * n + 1) / 6);
}
return 0;
}