求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和

    xiaoxiao2023-10-31  153

    又是一道不写好精度就搞不了的题

    输入 a b c 输出 1+2+…+a + 12+22+…+b^2 + 1/1+1/2+…+1/c 样例输入 100 50 10 样例输出 47977.93

    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 源错误程序:

    #include<stdio.h> int main() { int a,b,i,a1=0,b1=0; double c=0,c1=0,sum=0; scanf("%d",&a); scanf("%d",&b); scanf("%lf",&c); a1=((1+a)*a)/2; for(i=1;i<=b;i++) b1+=i*i; for(i=1;i<=c;i++) { c1+=1.0/c; } sum=a1+b1+c1; printf("%0.2lf",sum); return 0; }

    一直都将tm的后面的当成int型来算, 我也不知道为什么。 (知道了。。原来有一个循环中,将常数带进去了。。。。)

    修改成:

    #include<stdio.h> int main() { int a,b,i,a1=0,b1=0; double c=0,c1=0,sum=0; scanf("%d",&a); scanf("%d",&b); scanf("%lf",&c); a1=((1+a)*a)/2; for(i=1;i<=b;i++) b1+=i*i; for(i=1;i<=c;i++) { c1+=1.0/i; } sum=a1+b1+c1; printf("%0.2lf",sum); return 0; }
    最新回复(0)