您的位置:首页 > 编程语言 > C语言/C++

进阶项目6-日期结构体

2016-07-29 22:08 232 查看
任务和代码:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天

/*
文件名:main.c
作者:小风景
完成日期:2016.7.28
问题描述:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天
程序输出:
*/

#include <stdio.h>

int countday(struct Date *date);
int d[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

struct Date
{
int year;
int month;
int day;
};
int main()
{
struct Date date;
printf("input year,month,day:");
scanf("%d %d %d", &date.year, &date.month, &date.day);
int days;

days = countday(&date);
printf("%d月%d日是%d年的第%d天.\n", date.month, date.day, date.year, days);
return 0;
}

int countday(struct Date *date)
{
int days = 0;
int i = 0;

//将前n个月的天数加起来
for(i = 0;i < date->month;i++)
{
days += d[i];
}

//加上这个月的天数
days += date->day;

//如果是润年并且大于二月,应该加上1天
if((date->month > 2) && (date->year %4 == 0 && date->year % 100 != 0 || date->year % 400 == 0))
{
days += 1;
}
return days;
}


程序运行结果;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 代码