i = 1 ; sum = 0; do{}while(条件) ,先运行,再判断。
i +=2; sum+=i; i=3;sum =3; while(i != n ); 此时 i=3 ,所以倒推 n != 3
i+=2 ==> i = 5; sum+=i ==> 3+5 = 8; while( i != n) ,此时 n != 5
i+=2==> i = 7, sum+=i==> 8+7 = 15,while(i != n), 此时sum =15应该跳出循环,所以可以得到 n = 7.
键盘输入n = 时, sum = 15;
#include <stdio.h>
int main() {
int i = 1, sum = 0, n; // 定义变量i初始化值为1,变量sum初始化值为0,变量n,默认值为0
scanf("%d", &n); // 键盘输入n的值
do{
i+=2; // i = i + 2;
sum+=i; // sum = sum + i;
}while(i != n); // 判断i不等于n时,继续执行do循环体,当i等于n时,结束循环
printf("%d", sum); // 输出sum的值
// 例如:键盘输入n的值为7,i = 1 + 2 = 3,sum = 0 + 3 = 3,判断3!=7 为true,继续执行do循环
// 此时i = 3,sum = 3 , i = 3 + 2 = 5,sum = 3 + 5 = 8, 判断5!=7 为true,继续执行do循环
// 此时i = 5,sum = 6 , i = 5 + 2 = 7,sum = 8 + 7 = 15, 判断7!=7 为false,,结束循环,输出sum=15
return 0;
}
看程序计算的是什么,这个循环计算的是,3+5+7+9+......+n