上机内容:输入日期,求出是该年的第几天
上机目的:学习结构体
我的程序:
/*
* 程序的版权和版本声明部分:
* 作 者:段元晋
* 完成日期:2013年1月
* 版 本 号:vc++6.0
* 对任务及求解方法的描述部分:
* 输入描述:日期如 2012 10 1
* 问题描述:略
* 程序输出:第几天
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
using namespace std;
struct y_m_d
{
int year;
int month;
int day;
};
int main()
{
y_m_d date;
int days(int,int,int);
int day_sum;
cout<<"请输入年月日:";
cin>>date.year>>date.month>>date.day;
day_sum=days(date.year,date.month,date.day);
cout<<"是"<<date.year<<"年的第"<<day_sum<<"天"<<endl;
return 0;
}
int days(int year,int month,int day)
{
int month_days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,day_sum;
day_sum=0;
for(i=1;i<month;i++)
day_sum=day_sum+month_days[i];
day_sum=day_sum+day;
if((year%4==0&&year%100!=0||year%400==0)&&month>=3)
day_sum+=1;
return day_sum;
}
运行结果: