美文网首页C程序设计
PTA-2017实验2.3 指定次数循环

PTA-2017实验2.3 指定次数循环

作者: 林之禾 | 来源:发表于2017-10-10 16:48 被阅读0次

    `7-1 求N分之一序列前N项和(15 分)
    本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
    输入格式:
    输入在一行中给出一个正整数N。
    输出格式:
    在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
    输入样例:

    6
    

    输出样例:

    sum = 2.450000
    

    程序源码

    #include <stdio.h>
    
    int main(){
        int i,n;
        double sum;
        sum=0;
        scanf("%d",&n);
        for(i=1;i<=n;i++){
            sum+=1.0/i;
        }
        printf("sum = %.6f",sum);
        return 0;
    }
    

    7-2 求奇数分之一序列前N项和(15 分)
    本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。
    输入格式:
    输入在一行中给出一个正整数N。
    输出格式:
    在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
    输入样例:

    23
    

    输出样例:

    sum = 2.549541
    

    程序源码

    #include <stdio.h>
    
    int main(){
        int i,n,num;
        double sum;
        sum=0;
        num=1;
        scanf("%d",&n);
        for(i=1;i<=n;i++){
            sum+=1.0/num;
            num+=2;
        }
        printf("sum = %.6f",sum);
        return 0;
    }
    

    7-3 求简单交错序列前N项和(15 分)
    本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
    输入格式:
    输入在一行中给出一个正整数N。
    输出格式:
    在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
    输入样例:

    10
    

    输出样例:

    sum = 0.819
    

    程序源码

    #include <stdio.h>
    
    int main(){
        int i,n,num,flag;
        double sum;
        sum=0;
        num=1;
        flag=1;
        scanf("%d",&n);
        for(i=1;i<=n;i++){
            sum+=flag*1.0/num;
            num+=3;
            flag=-flag;
        }
        printf("sum = %.3f",sum);
        return 0;
    }
    

    7-4 输出华氏-摄氏温度转换表(15 分)
    输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。

    温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。

    输入格式:
    在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。
    输出格式:
    第一行输出:"fahr celsius"

    接着每行输出一个华氏温度fahr(整型)与一个摄氏温度celsius(占据6个字符宽度,靠右对齐,保留1位小数)。

    若输入的范围不合法,则输出"Invalid."。

    输入样例1:

    32 35
    

    输出样例1:

    fahr celsius
    32   0.0
    34   1.1
    

    输入样例2:

    40 30
    

    输出样例2:

    Invalid.
    

    程序源码

    #include <stdio.h>
    
    int main(){
        int lower,upper;
        scanf("%d %d",&lower,&upper);
        if(lower>upper){
            printf("Invalid."); 
        }else{
            printf("fahr celsius\n"); 
        for(int i=lower;i<=upper;i+=2){
            printf("%d%6.1lf\n",i,5.0*(i-32)/9);
        }
        }
        
        return 0;
    }
    

    7-5 求平方与倒数序列的部分和(15 分)
    本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m​2​​+1/m+(m+1)​2
    +1/(m+1)+⋯+n​ +1/n。

    输入格式:
    输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。
    输出格式:
    在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
    输入样例:

    5 10
    

    输出样例:

    sum = 355.845635
    

    程序源码

    #include <stdio.h>
    
    int main(){
        int i,n,m;
        double sum;
        sum=0;
        scanf("%d %d",&m,&n);
        for(i=m;i<=n;i++){
            sum+=i*i+1.0/i;
        }
        printf("sum = %.6f",sum);
        return 0;
    }
    

    相关文章

      网友评论

        本文标题:PTA-2017实验2.3 指定次数循环

        本文链接:https://www.haomeiwen.com/subject/nntbyxtx.html