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

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

    1.实验题目

    7-7 计算火车运行时间(15 分)

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

    输入格式:

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

    输出格式:

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

    4-6 输出华氏-摄氏温度转换表(15 分)

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

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

    输入格式:

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

    输出格式:

    第一行输出:"fahr celsius"

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

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

    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!

    2.设计思路:

    7-7 计算火车运行时间

      因输入是两个四位整数,则先把小时和分钟分离开。小时数用到达的直接减去出发的。若到达时间的分钟数大于出发的,用到达的分钟数直接减去出发的;若到达时间的分钟数小于出发的,需要向小时的借位,即到达的分钟数加上60再减去出发的分钟数,此时小时数需减去1。此题还须考虑边界条件,即分钟数相等和时钟数相等的特殊情况。

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

      先判定数据的合法性,若lower>upper或lower>100,则直接输出Invalid。主要是用循环语句每次增加2华氏度再输出相应的摄氏度。最后注意输出的格式正确。

    4-2-6 到底是不是太胖了

      读入N行数,算出标准体重,再用真实体重-标准体重的绝对值与标准体重作比较,从而判断太胖、太瘦或完美。

    3.实现方法:

    7-7 计算火车运行时间

      用%和/把时钟数和分钟数分离。再用if语句判断。

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

      用if语句和运算符&&判断数据的合法性,再在if语句中嵌入循环for语句实现每次增加2华氏度。

    4-2-6 到底是不是太胖了

      用for循环达到读入N行数。用绝对值函数fabs()计算真实体重与标准体重的绝对值。

    二.源程序

    7-7 计算火车运行时间
        h1=t1/100;h2=t2/100;
        m1=t1%100;m2=t2%100;
        if(m1<m2)
        {
         printf("%02d:%02d",h2-h1,m2-m1);
     }
     if(m1>m2)
     {
      printf("%02d:%02d",h2-h1-1,m2+60-m1);
     }
        if(h1==h2 && m1==m2)
     {
      printf("00:00");
     }
     if(m1==m2 && h1!=h2)
     {
      printf("%02d:00",h2-h1);
     }
     

    4-6 输出华氏-摄氏温度转换表
     if(lower<=upper && upper<=100 &&lower<=100)
     { 
     printf("fahr celsius ");
     for(F=lower;F<=upper;F+=2)
     {
      C=5.0*(F-32)/9.0;
      printf("%d%6.1lf ",F,C);
      }
        }
        else
        printf("Invalid.");
     

    4-2-6 到底是不是太胖了


    #include<math.h>

     for(i=1;i<=N;i++)
    {
     scanf("%lf%lf",&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 pang le! ");
     }
     if(fabs(b-c)>=c*0.1 && b<c)
     {
      printf("You are tai shou le! ");
     }
    }
     

    三.遇到的问题及解决方法,心得体会

      这几题没有太大难度,主要是一些细节的问题,平时要多留心。

      在4-6 输出华氏-摄氏温度转换表中稍注意输出格式控制(占据6个字符宽度,靠右对齐,保留1位小数)。

      scanf()函数输入数据时经常忘记前面的&。调用数学函数诸如fabs,sqrt,pow时要加头文件#include<math.h>。

      C语言中要表达lower不能像数学的那样,而要分开--lower<=upper&&upper<=100。

     

     

  • 相关阅读:
    Animate.css 一款强大的预设css3动画库
    关于js返回上一页的实现方法
    jquery判断字符串中是否包含特定字符的方法总结
    去掉select在苹果手机上的原生样式
    html5中如何去掉input type date默认样式
    JS和jQuery中ul li遍历获取对应的下角标
    滚动一定的高度底色递增
    喵哈哈村的狼人杀大战(5)
    喵哈哈村的狼人杀大战(2)
    One Card Poker
  • 原文地址:https://www.cnblogs.com/fangshiyuan/p/7723035.html
Copyright © 2011-2022 走看看