zoukankan      html  css  js  c++  java
  • C语言第一次实验报告

    一.实验题目,设计思路,实现方法

    题目一      7-7计算火车运行的时间

    本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。

    输入格式:

    输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。

    输出格式:

    在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数

    题目二   4-6 输出华氏-摄氏温度转换表

    输入2个正整数lowerupperlowerupper≤100),请输出一张取值范围为[lowerupper]、且每次增加2华氏度的华氏-摄氏温度转换表。

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

    输入格式:

    在一行中输入2个整数,分别表示lowerupper的值,中间用空格分开。

    输出格式:

    第一行输出:"fahr celsius"

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

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

    输入样例1:

    32 35
    

    输出样例1:

    fahr celsius
    32   0.0
    34   1.1
    

    输入样例2:

    40 30
    

    输出样例2:

    Invalid

    题目三  4-2-6是不是太胖了

    4-2-6 到底是不是太胖了(10 分)

    据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重 标准体重 | < 标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。

    输入格式:

    输入第一行给出一个正整数N 20)。随后N行,每行给出两个整数,分别是一个人的身高H(120 < H < 200;单位:厘米)和真实体重W(50 < W 300;单位:市斤),其间以空格分隔。

    输出格式:

    为每个人输出一行结论:如果是完美身材,输出You are wan mei!;如果太胖了,输出You are tai pang le!;否则输出You are tai shou le!

    输入样例:

    3
    169 136
    150 81
    178 155
    

    输出样例:

    You are wan mei!
    You are tai shou le!
    You are tai pang le!
    

    题目四 4-2-7装睡

    你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏,请你找出他们中间有可能在装睡的人,即至少一项指标不在正常范围内的人。

    输入格式:

    输入在第一行给出一个正整数N10)。随后N行,每行给出一个人的名字(仅由英文字母组成的、长度不超过3个字符的串)、其呼吸频率和脉搏(均为不超过100的正整数)。

    输出格式:

    按照输入顺序检查每个人,如果其至少一项指标不在正常范围内,则输出其名字,每个名字占一行。

    输入样例:

    4
    Amy 15 70
    Tom 14 60
    Joe 18 50
    Zoe 21 71
    

    输出样例:

    Tom
    Zoe

    题目五 4-2-8 计算天数

    本题要求编写程序计算某年某月某日是该年中的第几天。

    输入格式:

    输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

    输出格式:

    在一行输出日期是该年中的第几天。

    输入样例1:

    2009/03/02
    

    输出样例1:

    61
    

    输入样例2:

    2000/03/02
    

    输出样例2:

    62
    

    二.源程序

    题目一      7-7计算火车运行的时间

    #include <stdio.h>
    int main(void) {
        int a, b;
        int c, d;
        int e, f;
        scanf("%d%d", &a, &b);
        e = a / 100 * 60  + a % 100;
        f =b / 100 * 60 + b % 100;
        c = (f - e) / 60;
        d = (f - e) % 60;
    printf("%02d:%02d",c,d)    ;
        return 0;
    }

    题目二 4-6 输出华氏-摄氏温度转换表

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

    题目三  4-2-6是不是太胖了

    #include<stdio.h>
    #include<math.h>
    int n,a,b,c;
    int main(){
        scanf("%d",&n);
        while(n--){
            scanf("%d%d",&a,&b);
            c = (a-100)*1.8;
            
            if(fabs(b-c)<(c*0.1)){
                printf("You are wan mei!
    ");
            }
            if((fabs(b-c)>=(c*0.1))&&b<c){
                printf("You are tai shou le!
    ");
            }
            if((fabs(b-c)>=(c*0.1))&&b>c){
                printf("You are tai pang le!
    ");
            }
        }    
        
        return 0;
    }

     题目四 4-2-7装睡

    #include <stdio.h>
    
    int main()
    {
      int i,a,b,N;
      char name [9];
      scanf("%d",&N);
      for (i=1;i<=N;i++) 
      {
        scanf("%s%d%d",name,&a,&b);
        if (a>20||a<15||b<50||b>70) 
       {
          printf("%s
    ",name);
        }
      }
      return 0;
    }
    #include <stdio.h>
    int main() {
        int y, m, d;
        int p,i;
        scanf("%d/%d/%d", &y, &m, &d);
        p = d;
        for(i = 1; i < m; i++) 
        {
            switch(i) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    p += 31;
                break;
                case 4:
                case 6:
                case 9:
                case 11:
                    p += 30;
                break;
                case 2:
                    if((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))
                        p += 29;
                    else
                        p += 28;            
            }
        }
        printf("%d", p);
        return 0;
    }
     

    三.问题,方法,心得

    题目一      7-7计算火车运行的时间

    问题:1.如果到达分钟数大于出发分钟数相减为负数。

         2.输出格式00:00如何表示。

    方法:1.化为同一单位进行运算,如统一化为分钟

          2.采用%02d:%02d的方式输出

    心得:1.思考问题要细致,审题要仔细,从多方面思考

          2.善于借助工具查询相关知识(百度)

    题目二    4-6 输出华氏-摄氏温度转换表

    问题:1.输出格式中“6个字符宽度,靠右对齐”不知如何实现。

    方法:1.printf("%d%6.1f ",fahr,celsius)

    心得:多翻阅书本,不懂要问。

    题目三  4-2-6是不是太胖了

    问题:1.理解错误题目,以为要一下子输入全部的值再一起判断

    方法:1.采用循环语句,循环输出,一个一个判断。

    心得:正确理解题目意思很关键,在卡壳的时候试着换种思路。

    题目四 4-2-7装睡

    问题:1.名字不知道怎么输出

    方法:1.运用字符串char

    题目五 4-2-8 计算天数

    问题:1.因为大小月的差异不知道如何相加。

    方法:1.采用switch语句,设置多个分支,外加for循环语句,使程序从一月开始加至(n-1)个月。再添加日数)

    心得:多多翻书,看看学习视频

  • 相关阅读:
    java学习笔记(4)多态
    scala学习笔记(1)
    java复习(3)继承下
    java复习(3)继承
    java复习(2)
    java中常见的异常种类
    数组的内存结构
    Castle ActiveRecord学习(一)简介
    OAuth2.0 Owin 授权问题
    将对象转为json,加入到HttpResponseMessage中
  • 原文地址:https://www.cnblogs.com/huangqingqing/p/7704874.html
Copyright © 2011-2022 走看看