用C++设计程序,输入一个日期,算出这一天是本年的第几天。
1个回答
展开全部
#include<iostream>
using namespace std;
int judge_year(int );
int judge_month(int);
void main(){
int year,month,day,sum=0;
cout<<"年份:";
cin>>year;
cout<<"\n月份:";
cin>>month;
cout<<"\n日期:";
cin>>day;
if(!judge_year(year)&&month==2&&day==29){
cout<<"今年不是闰年,非法输入"<<endl;
exit(0);
}
if(judge_year(year)){
for(int i=1;i<month;i++){
if(judge_month(i)==1)
sum+=31;
else if(judge_month(i)==0)
sum+=30;
else
sum+=29;
}
sum+=day;
}
else{
for(int i=1;i<month;i++){
if(judge_month(i)==1)
sum+=31;
else if(judge_month(i)==0)
sum+=30;
else
sum+=28;
}
sum+=day;
}
cout<<"今天是这一年的第"<<sum<<"天"<<endl;
}
int judge_year(int a){
if(a%400==0||(a%100!=0&&a%4==0))
return 1;
else
return 0;
}
int judge_month(int b){
if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
return 1;
else if(b==2)
return -1;
else
return 0;
}
已解答如有疑问请留言...
using namespace std;
int judge_year(int );
int judge_month(int);
void main(){
int year,month,day,sum=0;
cout<<"年份:";
cin>>year;
cout<<"\n月份:";
cin>>month;
cout<<"\n日期:";
cin>>day;
if(!judge_year(year)&&month==2&&day==29){
cout<<"今年不是闰年,非法输入"<<endl;
exit(0);
}
if(judge_year(year)){
for(int i=1;i<month;i++){
if(judge_month(i)==1)
sum+=31;
else if(judge_month(i)==0)
sum+=30;
else
sum+=29;
}
sum+=day;
}
else{
for(int i=1;i<month;i++){
if(judge_month(i)==1)
sum+=31;
else if(judge_month(i)==0)
sum+=30;
else
sum+=28;
}
sum+=day;
}
cout<<"今天是这一年的第"<<sum<<"天"<<endl;
}
int judge_year(int a){
if(a%400==0||(a%100!=0&&a%4==0))
return 1;
else
return 0;
}
int judge_month(int b){
if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
return 1;
else if(b==2)
return -1;
else
return 0;
}
已解答如有疑问请留言...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询