7-10 后天

如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。

输入格式:

输入第一行给出一个正整数D(1 ≤ D ≤ 7),代表星期里的某一天。

输出格式:

在一行中输出D天的后天是星期几。

输入样例:

3

输出样例:

5

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

我的答案:

C语言:

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

C++:

#include <iostream>
using namespace std;
int main()
{
	int a, b;
	cin >> a;
	if (a >= 1 && a <= 5) {
		b = a + 2;
	}
	else {
		b = a - 5;
	}
	cout << b;
	
}

 

在C语言中,我们可以使用`<stdio.h>`库来获取用户输入,并使用`<time.h>`库处理日期。下面是一个简单的示例代码,它会接受用户的日期输入并计算后天的日期。请注意,这个代码假设用户输入的是格式"YYYY-MM-DD",并且只适用于当前年份。 ```c #include <stdio.h> #include <time.h> // 函数声明用于检查日期合法性 int is_valid_date(char *date); int main() { char date[11]; // 存储输入日期,包括前导空格 printf("请输入日期(格式: YYYY-MM-DD): "); fgets(date, sizeof(date), stdin); // 获取用户输入 // 移除输入末尾的换行符 date[strlen(date) - 1] = '\0'; if (is_valid_date(date)) { struct tm input_time; sscanf(date, "%d-%d-%d", &input_time.tm_year + 1900, &input_time.tm_mon + 1, &input_time.tm_mday); time_t raw_input = mktime(&input_time); // 将tm结构体转换为时间戳 time_t result = raw_input + ((60 * 60 * 24) * 2); // 后天的时间差 // 检查是否超出范围并更新结果 if (result > INT_MAX) { printf("-1 (无效日期)\n"); } else { struct tm output_time; localtime_r(&result, &output_time); // 转换回tm并打印 printf("后天日期: %04d-%02d-%02d\n", output_time.tm_year + 1900, output_time.tm_mon + 1, output_time.tm_mday); } } else { printf("-1 (无效日期)\n"); } return 0; } // 判断日期是否合法 int is_valid_date(char *date) { int len = strlen(date); if (len != 10 || date[4] != '-' || date[7] != '-') { return 0; // 非法日期格式 } // 验证月份和日期是否在有效范围内 int year, month, day; sscanf(date, "%d-%d-%d", &year, &month, &day); if (month < 1 || month > 12 || day < 1 || day > 31) { return 0; } // 如果是闰年,检查二月的天数 if (month == 2 && (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))) { if (day > 29) { return 0; } } else { if (day > 30 || (month == 2 && day == 31)) { // 其他非闰年月份 return 0; } } return 1; // 日期合法 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏驰和徐策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值