Online Compiler C

#include <stdio.h> int main(void) { int x; int sum=0; scanf ("%d",&x); while(x>=1){ sum=sum+x*x+x*x*x; x--; } printf("%d",sum); return 0; }
这段代码从用户输入一个整数x,然后计算从x向下到1的每个数,将其平方和立方相加,最后输出总和。

- 你的循环条件是 `while(x>=1)`,但题目要求可能是计算从1到x的平方和立方和,而你的代码是从x递减到1,结果是一样的。不过要注意,如果输入负数,循环不会执行,sum保持0,这可能是合理的。
- 你的计算 `sum=sum+x*x+x*x*x` 同时加了平方和立方,但注意 `x*x*x` 对于较大的x可能会溢出,因为int类型范围有限。考虑是否需要用更大的数据类型,或者题目是否有范围限制。