设计一个程序根据用户的选择(1.日期转换成天数;2.指定年份和第几天求出日期)调用设计要的
程序给出正确的输出。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int days[13] = { -1,31,28,31,30,31,30,31,31,30,31,30,31 };
void DateToDays()
{
int sum = 0;
printf("***输入年份***\n");
int y;
scanf("%d", &y);
if (!(y % 4)) days[2]++;
printf("***输入月份***\n");
int m;
scanf("%d", &m);
printf("***输入日期***\n");
int d;
scanf("%d", &d);
for (unsigned i = 1; i < m; ++i) {
sum += days[i];
}
sum += d;
printf("天数:%d", sum);
}
void DaysToDate() {
printf("***输入年份***\n");
int y;
scanf("%d",&y);
if (y % 4 == 0) days[2]++;
printf("***输入天数***\n");
int n;
scanf("%d",&n);
int sum[13] = {0,31};
for (unsigned i = 2; i <= 12; ++i)sum[i] = sum[i - 1] + days[i];
int m;
for (m = 1; m <= 12; ++m) {
if (sum[m] >= n) break;
}
int d = n - sum[m-1];
printf("日期:%d月%d日\n", m,d);
}
int main()
{
int mode;
scanf("%d", &mode);
if (mode == 1) DateToDays();
else DaysToDate();
return 0;
}