问题:
题解:
#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