可以使用如下的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天后的日期并输出。
测试示例如下:
#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;
}