2024.12.15学习总结

今天写测试,写了两道,运行没问题,后续的题目还没有看。先把前两道的题目和代码贴出来,这里我认为这两道代码还有改进的地方。目前来看代码写的有些冗余。每天会将代码的逻辑理顺,看看能不能写出更简洁的程序。

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int dis = 0;
	scanf("%d%d", &a, &b);
	if (a > b && b > 0)
	{
		dis = a;
	}
	else if (b > a && a > 0)
	{
		dis = b;
	}
	else if (a < b && b < 0)
	{
		dis = (-1) * a;
	}
	else if (b < a && a < 0)
	{
		dis = (-1) * b;
	}
	else if (a < 0 && b>0)
	{
		dis = (-1) * a * 2 + b;
	}
	else if (a > 0 && b < 0)
	{
		dis = (-1) * b * 2 + a;
	}
	else if (a == b)
	{
		if (a > 0)
			dis = a;
		else if (a < 0)
			dis = (-1) * a;
		else
			dis = 0;
	}
	else if (a == 0 && b > 0)
		dis = b;
	else if (a == 0 && b < 0)
		dis = (-1) * b;
	else if (b == 0 && a > 0)
		dis = a;
	else if (b == 0 && a < 0)
		dis = (-1) * a;
	printf("%d", dis);
	return 0;
}

#include<stdio.h>
int main()
{
	int s = 0;
	int v = 0;
	int hour = 0;
	int mie = 0;
	int hours = 0;
	int mint = 0;//之后需要判断其是否为整数
	scanf("%d%d", &s, &v);
	if (s % v == 0)
	{
		mint = s / v+10;
	}
	else if (s % v != 0)
		mint = (s / v) + 1+10;//需要多少分钟
	if (mint > 60)
	{
		hour = (mint) / 60;
		if (mint % 60 != 0)
		{
			mie = (mint) % 60;
			if (8 - hour > 0)//时针 补0
			{
				if (60 - mie > 9)
					printf("0%d:%d", 8 - 1 - hour, 60 - mie);
				else
					printf("0%d:0%d", 8 - 1 - hour, 60 - mie);
			}
			else if (8 - hour == 0)
			{
				if (60 - mie > 9)
					printf("00:%d", 60 - mie);
				else
					printf("00:0%d", 60 - mie);
			}
			else if (8 - hour < 0)
			{
				hours = hour - 8;
				if (24 - hours > 9)
				{
					if (60 - mie > 9)
						printf("%d:%d", 24-1-hours, 60 - mie);
					else
						printf("%d:0%d", 24 - 1 - hours, 60 - mie);
				}
				else if (24 - hour <= 9)
				{
					if (60 - mie > 9)
						printf("%0d:%d", 24 - 1 - hours, 60 - mie);
					else
						printf("%0d:0%d", 24 - 1 - hours, 60 - mie);
				}

			}
		}
		else if (mint % 60 == 0)
		{
			printf("0%d:00", 8 - 1 - hour);
		}
		
	}
	else if (mint == 60)
	{
		printf("07:00");
	}
	else if (mint < 60)
	{
		if (60 - mint > 9)
			printf("07:%d", 60 - mint);
		else
			printf("07:0%d", 60 - mint);
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值