Online Compiler C

#include <stdio.h> int main() { int N,A,B,C; scanf("%d",&N); A = N; B = N*N; C = N*N*N; while (N != 100) { printf("%d %d %d",A,B,C); N += 1; } return 0; }
这段代码的作用是:读入一个整数N,然后输出从N到99的每个整数的平方和立方,但输出格式和循环条件都有问题。

- 循环条件 `while (N != 100)` 会导致循环在N等于100时才停止,但N从输入值开始每次加1,如果输入值大于100,循环永远不会执行;如果输入值小于100,循环会一直执行到N变成100,但此时会多输出一次(N=99时输出,然后N变成100才退出)。
- 循环内部每次输出的都是最初保存的A、B、C的值,而不是当前N对应的平方和立方,所以输出内容不会变化。

提示:
- 检查循环条件:题目要求输出从N到99,应该让循环在N小于100时继续,而不是不等于100时继续。
- 在循环内部,每次输出应该使用当前的N值来计算平方和立方,而不是使用一开始保存的固定值。