(C语言2)求和训练

问题:

题解:

#include<stdio.h>
int main()
{
    int a,b,c,sum=0;
    scanf("%d %d %d",&a,&b,&c);
    for(int z=0;z<=a;z++)
    {
        sum=sum+z; //累加上一个的,直至加到a
    }

    int sum1=0;
    for(int r=0;r<=b;r++)
    {
        sum1=sum1+(r*r); //累加上一个数,然后继续加上本次循环的数的平方
    }

    double sum2=0; //因为保留小数,所以用的double
    for(double y=1;y<=c;y++)
    {
        sum2=sum2+(1/y); //同理,只需用1/y就可以实现倒数
    }

    double sum3=0; //因为上面有小数,总和自然也用double
    sum3=sum+sum1+sum2;
    printf("%.2f",sum3);
}

分析:

先看题目:

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

实则不然就是求三个和

一个是 1到a的累加:利用简单的for循环就可以

一个是 1到b的值的平方和:同理for循环,加的数改成平方就好了

一个是1到c的倒数和:利用1/y就可以实现倒数,再用for循环加上上一个数即可

出于简单明了,我直接将问题分成上面三个小问题来分别敲代码,然后直接加起来就好了

本题出自C语言网的题号1015

猜你喜欢

转载自blog.csdn.net/a871923942/article/details/130619528