C语言输入今天几月几日,180天后是几月几日?

如题所述

可以使用如下的C语言程序代码输入今天的日期,计算180天后的日期并输出:

#include <stdio.h>

int main() {

int year, month, day;

printf("请输入今天的日期(年 月 日):\n");

scanf("%d %d %d", &year, &month, &day);

// 计算180天后的日期

day += 180;

while (day > 30) {

if (month == 2) {

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

day -= 29;

} else {

day -= 28;

}

} else if (month == 4 || month == 6 || month == 9 || month == 11) {

day -= 30;

} else {

day -= 31;

}

month++;

if (month > 12) {

month = 1;

year++;

}

}

// 输出180天后的日期

printf("180天后的日期为:%d年%d月%d日\n", year, month, day);

return 0;

}

这里使用scanf函数从键盘输入今天的日期,然后计算180天后的日期。计算过程中,先将天数加上180,然后根据月份和闰年判断每个月的天数,依次减去天数并更新月份和年份。最后输出180天后的日期。运行程序后,输入今天的日期,程序会计算180天后的日期并输出。

测试示例如下:

程序测试示例,输入为2023 4 26

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-04-26

#include <stdio.h>

int main() {

int year, month, day;

printf("请输入今天的日期(年-月-日):");

scanf("%d-%d-%d", &year, &month, &day);

// 计算180天后的年、月、日

int after_year = year, after_month = month, after_day = day + 180;

if (after_day > 30) {

after_month += 1;

after_day -= 30;

if (after_month > 12) {

after_year += 1;

after_month -= 12;

}

}

printf("180天后是:%d-%02d-%02d\n", after_year, after_month, after_day);

return 0;

}

相似回答