69,336
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
int main() {
int sum1 = 0, sum2 = 0, n, k, m;
double sum3 = 0;
for (n = 1; n <= 100; n++)
sum1 += n;// 这里对了
for (k = 1; k <= 50; k++)
sum2 += k;// 这里加的应该是平方
for (m = 1; m <= 10; m++)
sum3 += m;// 这里是倒数
// 这里sum3是double型的,那么这三个数相加
// 后的类型会转成double型的,而你在这里用的
// 格式是%d,是不符合语法的。
// 两种选择:
// 1、将sum1和sum2都改成double型的,并且改成下面这样
// 这样损失较小。
printf("%lf\n", sum1 + sum2 + sum3);
// 2、将后面强制转换为int型的,这样损失数据较大
printf("%d\n", (int) (sum1 + sum2 + sum3));
return 0;
}