题目:
用户输入日,月,年。月份可以是月份号,月份名或月份名缩写,然后返回一年中到用户指定日子的总天数
源代码
源代码:
#include <stdio.h>
#include <string.h>
#define ROW 10
struct MONTH{
char mon[10];
char mon_abb[3];
int day;
int month;
};
struct MONTH months[12] =
{
{"January","Jan",31,1},
{"February","Feb",28,2},
{"March","Mar",31,3},
{"April","Apr",30,4},
{"May","May",31,5},
{"June","Jun",30,6},
{"July","Jul",31,7},
{"August","Aug",31,8},
{"September","Sep",30,9},
{"October","Oct",31,10},
{"November","Nov",30,11},
{"December","Dec",31,12},
};
int mon_day(int day,char mon[ROW],int year);
int main()
{
int day,year;
char ch[ROW];
printf("请输入日,月,年: ");
scanf("%d %s %d",&day,ch,&year);
printf("%c",months[1].month+'0');
printf("今年截止到当月为止的天数是: %d",mon_day(day,ch,year));
return 0;
}
int mon_day(int day,char mon[ROW],int year)
{
int total=0;
for(int j = 0;j < 12;j++)
{
if((strcmp(months[j].mon,mon) == 0) || (strcmp(months[j].mon_abb,mon) == 0) || (months[j].month == mon[0]-'0'))
{
for(int i=0;i<j;i++) total += months[i].day;
return total+day;
}
}
return -1;
}
演示效果:
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈