作业3:Acme Travel Agency
问题陈述
在为 Acme Cryptography Division 成功解决了世界上所有最棘手的密码学问题之后,您已经决定要看看这个世界。这就是您申请调动到 Acme Travel Agency 工作的原因。
Acme Travel Agency 专门从事航空旅行,由于您的质量保证经验,您被分配分析不同航班计划的质量。一个飞行计划由 N 个转机航班组成。除最后一班外,每一班航班结束后,都有一个中途停留期,乘客必须在此期间等待下一班航班。您的任务是计算目的地时间(不考虑时区变化)以及飞行计划的质量。
如果乘客飞行的总时间至少是中途停留时间的两倍,则认为飞行计划是有效的。否则,飞行计划被认为是低效的。
要计算目的地时间,请将总行程时间(所有航班和中途停留时间的总和)添加到出发时间,并以 24 小时时钟格式计算相应时间。请注意,飞行计划可能会持续一夜,也可能持续一天以上。例如,如果一个飞行计划在 09:30 起飞并持续了 2000 分钟(这是一个漫长的飞行计划!),那么目的地时间将是第二天的 18:50。因此,您将报告 18:50 作为目标时间。
输入规范
输入将以单行整数 N (1
输出规格
您的程序应该输出到达时间和航班质量。这应该按以下方式格式化:
此飞行计划为 S,并将在 HH:MM 结束。
其中 S 是一个字符串:“高效”或“低效”取决于问题陈述中定义的飞行质量。HH:MM 是问题陈述中定义的目的地的 24 小时制时间。
示例 I/O
输入:
1 7 45 75
输出:
本次飞行计划高效,将于09:00结束。
输入:
2 13 30 75 180 85
输出:
此飞行计划效率低下,将于 19:10 结束。
输入:
3 12 27 500 300 600 400 300
输出:
本次飞行计划高效,将于23:27结束。
可交付成果
对于您的提交,请向 webcourses2 提交一个包含您的源代码的文件。有关评分指南,请参阅标有“评分标准”的部分。
该作业应于 2013 年 2 月 21 日晚上 11:59 在 webcourses2 上完成。
作为提示,最容易处理时间的方法是跟踪一天中的分钟,以 1440 为模(一天中的分钟数)。然后,打印时间时,小时是一天中的分钟除以 60,分钟是一天中的分钟以 60 为模。
评分标准
该计划满分 20 分。
编码风格 (9) 点 (1) 程序包含完整的标题注释(名称、日期、简要摘要) (1) 程序包含有意义的内部注释 (1) 程序保持对空格的合理使用 (1) 程序使用清晰的描述性变量名称 (1) 程序以整数形式读取所有值 (1) 程序包含 N 的循环(或 N 的某个函数) (1) 程序不提示用户输入 (1) 程序包含用于比较航班的 if 语句时间和转机时间。(1)程序正确使用printf百分码打印时间(%02d)
输出的正确性 (11) 点(部分得分是可能的) (10) 五个测试用例,(2) 每个案例点 (1) 程序打印正确的效率等级(高效,低效) (1) 程序打印正确的目的地时间,无论格式如何 (1) 文本完全符合指定格式。
我的代码:
// Included libraries
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
// Integer declaration
int N, hours, mins, i, flight, layover, finflight, flighttot=0, layovertot=0;
// N, hours, mins input scan
scanf("%d", &N);
scanf("%d %d", &hours, &mins);
// N loop, flight and layover input
for(i=0; i<N-1; i++) {
scanf("%d %d", &flight, &layover);
flighttot += flight;
layovertot += layover;
}
// Final flight input scan
scanf("%d", &finflight);
flighttot += finflight;
// Equations
mins += (hours*60)+flighttot+layovertot;
hours == mins/60;
hours %= 24;
mins %= 60;
// Output
if(flighttot >= 2*layovertot)
printf("The flight plan is efficient, and will conclude at %d:%d",&hours, &mins);
else
printf("The flight plan is inefficient, and will conclude at %d:%d",&hours, &mins);
return 0;
}
任何帮助修复我的程序将不胜感激!