你第二个while的i没有重置,没有执行。
可以在第二个while前加 i = 0;或者像下边的例子:
double s1,s2,s3,s;
double i = 1.000000;
s1 = (100 + 1) * 100 / 2.0;
while (i <= 50) {
if (i <= 10) {
s2 += 1/i;
}
s3 += i * i;
i++;
}
s = s1 + s2 + s3;