看看这个程序啊

来源:百度知道 编辑:UC知道 时间:2024/06/10 09:20:13
编写一个程序,求满足以下条件的最大的N:
12+22+32+...+N2<=1000

#include<stdio.h>
void main()
{
int result=0,i=1,j;

do
{
result+=(10*i+2);
i++;
}while(result<1000);
printf("%d\n",--i);
}

最后那个printf("%d\n",--i);中的 --i我弄不明白,烦大家解释

首先你用的是DO...WHILE循环结构,所以在执行循环时会比用WHILE....循环的执行次数多一次(如果DO..WHILE的次数是10次的话,那么WHILE循环次数为9次)所以在最后输出I 变量值时,需减去1,以得出实际值.
(不知你是否满意我的回答,请广大网友指正批评!)

result<1000,i已经+了1,这个是多+的,所以要将其减1才是结果

result=<1000


--i;
printf("%d\n",i);
等价。
你要好好看一下‘++’‘--’的意义。