(Linguagem C 2) treinamento de soma

pergunta:

responder:

#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);
}

analisar:

Veja primeiro o tópico:

Encontre a soma dos três números a seguir, mantenha 2 casas decimais, a soma de 1~a, o quadrado de 1~b e a soma recíproca de 1~c

Na verdade, caso contrário, é buscar três somas

Uma é a acumulação de 1 para a: use um loop for simples

Um é a soma dos quadrados dos valores de 1 a b: semelhante ao loop for, basta mudar o número adicionado para o quadrado

Um é a soma recíproca de 1 a c: use 1/y para realizar o recíproco e, em seguida, use o loop for para adicionar o número anterior

Por uma questão de simplicidade e clareza, divido diretamente o problema nos três pequenos problemas acima para digitar os códigos separadamente e, em seguida, apenas adicioná-los

Esta questão vem da questão número 1015 da C Language Network

Supongo que te gusta

Origin blog.csdn.net/a871923942/article/details/130619528
Recomendado
Clasificación