写了三次终于对了,供大家参考,有不足之处请指点!
查看原帖
写了三次终于对了,供大家参考,有不足之处请指点!
1327018
CCwcccw楼主2024/4/26 15:03
#include <stdio.h>
#define DAY 24 //一天24小时
#define LJ 10 //丢垃圾的时间
#define MINUTES 60 //一小时60分钟

int main() {
	int s = 0; //两点距离
	int v = 0; //速度
	int time = 0; //所需时间
	int School_arrival_time = 8; //存下到校时间
	int H = 0; 
	int M = 0;

	int when = 0; //时
	int points = 0; //分

	scanf_s("%d %d", &s, &v);

	//判断输入数据是否符合要求
	while (s <= 1 || v >= 10000) {
		scanf_s("%d %d", &s, &v);
	}

	//计算从家到学校所需时间
	if (s % v != 0) {
		time = s / v + 1 + LJ;
	}
	else {
		time = s / v + LJ;
	}

	when = time / MINUTES; //时
	points = time - (when * MINUTES); //分

	if (when <= 24) {  //判断是否超过一天
		if (when < 8) { //判断是否超过8小时,超过了从24开始减
			if (points == 0) {
				H = (School_arrival_time - when);
				M = MINUTES - points;
				printf("0%d:0%d", H, M);
			}
			else if (points > 0) {
				H = (School_arrival_time - when) - 1;
				M = MINUTES - points;
				if (M > 10) {
					printf("0%d:%d", H, M);
				}
				else {
					printf("0%d:0%d", H, M);
				}
			}
			
			
		}
		else if (when > 8) {
			if (points == 0) {
				H = (School_arrival_time - when);
				M = MINUTES - points;
				printf("%d:0%d", H, M);
			}
			else if (points > 0) {
				H = DAY - (when - School_arrival_time) - 1;
				M = MINUTES - points;
				if (M > 10) {
					printf("%d:%d", H, M);
				}
				else {
					printf("%d:0%d", H, M);
				}
			}

		}
	}
	else {
		printf("超过1天");
	}
}
2024/4/26 15:03
加载中...