一.实验题目,设计思路,实现方法
题目一:(三-7-7)
实验题目:
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输入格式:输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。输出格式:在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。
设计思路:
1.)输入初始时间,结束时间,2.)表示出分钟数,用分钟数再转化成小时
实现方法:
将输入的四位整数利用相除,取余转化成分钟数,再相减得到之间相差的分钟数,将其再转化成题目要求的输出格式
题目二:(四-4-6)
输入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.)利用if判断语句 2.)利用for循环,使fahr从lower开始计算,直到upper结束
实现方法:
先利用if语句判断“lower”与“upper”的输入是否合法,再利用公式和for循环语句使得温度重复转化
题目三:(加强版-4-2-6)
实验题目:
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重 − 标准体重 | < 标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。
设计思路:
1.)利用if判断语句进行多次判断 2.)利用到数学函数
实现方法:
运用公式并借助if语句判断
二.源代码
1.(三-7-7)
#include<stdio.h>
int main()
{
int start,end;
int minute,hour;
scanf("%d %d",&start,&end);
start=start/100*60+start%100;
end=end/100*60+end%100;
hour=(end-start)/60;
minute=(end-start)%60;
printf("%02d:%02d",hour,minute);
return 0;
}
2.(四-4-6)
#include<stdio.h>
int main (void)
{
int fahr,lower,upper;
double celsius;
scanf("%d %d",&lower,&upper);
if(lower<=upper&&upper<=100){
printf("fahr celsius\n");
for(fahr=lower;fahr<=upper;fahr+=2){
celsius=5.0*(fahr-32)/9.0;
printf("%d%6.1f\n",fahr,celsius);
}
}else
printf("Invalid.\n");
return 0 ;
}
3.(加强版-4-2-6)
#include<stdio.h>
#include<math.h>
int main(void)
{
int H,W,B,N,i;
scanf("%d",&N);
for(i=1;i<=N;i++){
scanf("%d %d",&H,&W);
B=(H-100)*0.9*2;
if(fabs(W-B)<B*0.1){
printf("You are wan mei!\n");
}
if(fabs(W-B)>=B*0.1&&W>B){
printf("You are tai pang le!\n");
}
if(fabs(W-B)>=B*0.1&&W<B){
printf("You are tai shou le!\n");
}
}
return 0;
}
三.遇到的问题,解决方法和心得体会
1.)问题
看长题目经常没有思路,有时候编译错误找不出原因,对输出格式很容易马虎大意而导致错误。
2.)解决方法
书里例题认真看,多练题目,找出模板,做题要考虑仔细,不要三心二意,遇到不理解的向老师,学长请教或百度了解,不要就放着不理。
3.)心得体会
打代码急不得,要考虑好情况再下手,代码要多练,才能熟能生巧。