求和训练 C语言

这篇文章提供了计算1到a的和、1到b的平方和以及1到c的倒数和的解题思路和C语言代码实现。关键在于使用循环结构和累加法,注意在处理倒数和时,如果i为整型,则需将1转换为浮点型(1.0)以避免精度损失。最后,程序输出三个和的总和并保留两位小数。
摘要由CSDN通过智能技术生成
解题思路:
求1~a之和:A0 = 0;      A1 = A0 + 1
                        A2 = A1 + 2
                        A3 = A2 + 3
                    ......
        1~a之和:     An = A(n-1) + n
求1~b平方和:B0 = 0;    B1 = B0 + 1*1
                    B2 = B1 + 2*2
                    B3 = B2 + 3*3
                    ......
        1~b平方和:    Bn = B(n-1) + n*n
求1~c倒数之和:C0 = 0;     C1 = C0 + 1/1
                        C2 = C1 + 1/2
                        C3 = C2 + 1/3
                        ......
                        Cn = C(n-1) + 1/n
注意事项:

这题解题思路不难,如果之前的题目都会,这里不是难事,重点是细节。

代码中a / b如果表达式中的a和b这两个因子中任意一个为浮点型,则结果也为浮点型

结合参考代码内的注释更明白

参考代码:
#include<stdio.h>
int main(void)
{
    int An = 0, Bn = 0;
    float Cn = 0;
    int a, b, c;
    float i; //这里i的声明类型也可以为int,但如果这样,下面有些地方就要做出改变
    scanf("%d %d %d", &a, &b, &c);
    for (i = 1; a >= i; i++)
    {
        An = i + An;
    }
    for (i = 1; b >= i; i++)
    {
        Bn = i * i + Bn;
    }
    for ( i = 1; c >= i; i++)
    {
        Cn = 1 / i + Cn; /*如果上面i的定义不为浮点型而是整型,这里的1就应该变为1.0,否则1/i的结果就不是浮点型,小数点后面位数的数值会直接被忽略,这里也是导致程序结果虽然保留两位小数,但小数点后的位数却是零的缘故。*/
    }
    printf("%.2f", An + Bn + Cn);
    return 0;
}

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

int main(void)

{

int An = 0, Bn = 0;

float Cn = 0;

int a, b, c;

float i; //这里i的声明类型也可以为int,但如果这样,下面有些地方就要做出改变

scanf("%d %d %d", &a, &b, &c);

for (i = 1; a >= i; i++)

{

An = i + An;

}

for (i = 1; b >= i; i++)

{

Bn = i * i + Bn;

}

for (i = 1; c >= i; i++)

{

Cn = 1 / i + Cn; /*如果上面i的定义不为浮点型而是整型,这里的1就应该变为1.0,否则1/i的结果就不是浮点型,小数点后面位数的数值会直接被忽略,这里也是导致程序结果虽然保留两位小数,但小数点后的位数却是零的缘故。*/

}

printf("%.2f", An + Bn + Cn);

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值