浙大版《C语言程序设计实验与习题指导(第4版)》题目集(3)

导读:本篇文章讲解 浙大版《C语言程序设计实验与习题指导(第4版)》题目集(3),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

浙大版《C语言程序设计实验与习题指导(第4版)》题目集

实验2-3-7 阶梯电价

为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
输入格式:输入在一行中给出某用户的月用电量(单位:千瓦时)。
输出格式:在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出”Invalid Value!”。

#include <stdio.h>

int main()
{
    int e;
    float ec = 0.53;
    scanf("%d",&e);
    if(e >= 0&&e <= 50){
        ec = ec * e;
        printf("cost = %.2f\n",ec);
    }
    else if(e > 50){
        ec = 50 * ec +(e - 50)*(ec + 0.05);
        printf("cost = %.2f\n",ec);
    }
    else{
        printf("Invalid Value!\n");
    }

    return 0;
}

实验2-3-8 计算火车运行时间

本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
输入格式:
输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。
输出格式:
在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。

#include <stdio.h>

int main()
{
    int hour1;
    int hour2;
    int minute1;
    int minute2;
    int sum1;
    int sum2;
    scanf("%d %d",&sum1,&sum2);
    hour1 = sum1 / 100;
    hour2 = sum2 / 100;
    minute1 = sum1 % 100;
    minute2 = sum2 % 100;
    hour1 = hour2 - hour1;
    minute1 = minute2 - minute1;
    if(minute1 < 0){
        hour1 = hour1 - 1;
        minute1 = minute1 + 60;
    }
    printf("%02d:%02d\n",hour1,minute1);
    return 0;
}

实验2-3-9 判断一个三位数是否为水仙花数

本题要求编写程序,判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。
输入格式:
输入在一行中给出一个需要判断的整数 N(100≤N≤999)。
输出格式:
如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value.。

#include <stdio.h>
#include <math.h>

int main()
{
    int num;
    int ge;
    int shi;
    int bai;
    int sum;
    scanf("%d",&num);
    ge = num % 10;
    shi = num / 10 % 10;
    bai = num / 100;
    sum = pow(ge,3) + pow(shi,3) + pow(bai,3);
    if(num >= 100 && num <= 999){
        if(num == sum){
            printf("Yes\n");
        }else{
            printf("No\n");
        }
    }else{
        printf("Invalid Value.\n");
    }

    return 0;
}

实验2-4-1 求1到N的和

本题要求编写程序,计算序列 1 + 2 + 3 + … 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,请注意等号的左右各有一个空格。题目保证计算结果不超过长整型整数的范围。

#include <stdio.h>

int main(){
    int N;
    int i;
    int sum = 0;
    scanf("%d",&N);
    for(i=1;i<=N;i++){
        sum = sum + i;
    }
    printf("sum = %d\n",sum);
    
    return 0;
}

实验2-4-2 求N分之一序列前N项和

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

#include <stdio.h>

int main(){
    int N;
    double i;
    double sum = 0;
    scanf("%d",&N);
    for(i=1;i<=N;i++){
        sum = sum + 1 / i;
    }
    printf("sum = %f\n",sum);

    return 0;
}

实验2-4-3 求奇数分之一序列前N项和

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

#include <stdio.h>

int main(){
    int N;
    double i;
    double sum = 0;
    scanf("%d",&N);
    for(i=1;i<=2*N-1;i=i+2){
        sum = sum + 1 / i;
    }
    printf("sum = %f\n",sum);

    return 0;
}

实验2-4-4 求简单交错序列前N项和

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

#include <stdio.h>
#include <math.h>

int main(){
    int N;
    double i;
    double sum = 0;
    double n;
    scanf("%d",&N);
    for(i=1;i<=3*N-2;i=i+3){
        n = 1 / i * pow(-1,i+1);
        sum = sum + n;
    }
    printf("sum = %.3f\n",sum);

    return 0;
}

实验2-4-5 输出华氏-摄氏温度转换表

输入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.”。

#include <stdio.h>

int main()
{
    int lower;
    int upper;
    int i;
    float c;
    scanf("%d %d",&lower,&upper);
    if(lower <= upper && lower <= 100 && upper <= 100){
        printf("fahr celsius\n");
        for(i=lower;i<=upper;i=i+2){
            c = 5 * (i - 32) / 9.0;
            printf("%d%6.1f\n",i,c);
        }
    }else{
        printf("Invalid.\n");
    }
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/120203.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!