#include
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
int count_day,i;
int month_day[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
bool leap;
cout<<"输入年:";
cin>>date.year;
cout<<"输入月";
cin>>date.month;
cout<<"输入日";
cin>>date.day;
count_day=date.day;
if ((date.year%4==0 && date.year%100!=0) || (date.year%400==0))
{
leap=true;
}
else
{
leap=false;
month_day[2]=28;
}
for(i=0;i
cout<<"该日是本年第"<
}
调试成功请查收。采纳。兄弟 多给点分,写程序的不容易呀
错在数组的赋值方式。
你可以在定义的时候直接赋值
int month_day[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};
这种方式是对的。
但是,如果定义的时候没有赋值,后面赋值的时候
month_day[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};
这种方式是错的。此时,需要挨个元素赋值。
一楼的修改挺好,闰年与否只有第二个月有差别,只修改2月份的天数即可。
另外,整型数组,没必要多定义一个吧,固定十二个月又不用扩展。
#include
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
int count_day,i;
int month_day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
bool leap;
cout<<"输入年月日:";
cin>>date.year>>date.month>>date.day;
count_day=date.day;
if ((date.year%4==0 && date.year%100!=0) || (date.year%400==0))
{
leap=true;
month_day[2]=29;
}
else
{
leap=false;
}
for(i=0;i
cout<<"该日是本年第"<
}