用c++编写程序 输入一个年月日然后求这一天在这一年中是第几天 我的程
用c++编写程序输入一个年月日然后求这一天在这一年中是第几天我的程序怎么运行出来的结果不对错在哪儿#include<iostream>usingnamespacestd;...
用c++编写程序 输入一个年月日然后求这一天在这一年中是第几天 我的程序怎么运行出来的结果不对 错在哪儿
#include<iostream>
using namespace std;
struct Date{
int year;
int month;
int day;
};
Date date;
int main(){
cout<<"请输入年月日的日期:";
cin>>date.year>>date.month>>date.day;
int n=0;
if(date.year%4==0){
for(int i=1;i<=date.month;i++){
if(i=1)n=n+31;
if(i=2)n=n+29;
if(i=3)n=n+31;
if(i=4)n=n+30;
if(i=5)n=n+31;
if(i=6)n=n+30;
if(i=7)n=n+31;
if(i=8)n=n+31;
if(i=9)n=n+30;
if(i=10)n=n+31;
if(i=11)n=n+30;
if(i=12)n=n+31;
}
}
if(date.year%4!=0){
for(int i=1;i<=date.month;i++){
if(i=1)n=n+31;
if(i=1)n=n+31;
if(i=2)n=n+28;
if(i=3)n=n+31;
if(i=4)n=n+30;
if(i=5)n=n+31;
if(i=6)n=n+30;
if(i=7)n=n+31;
if(i=8)n=n+31;
if(i=9)n=n+30;
if(i=10)n=n+31;
if(i=11)n=n+30;
if(i=12)n=n+31;
}
}
cout<<"你输入的这一天是"<<date.year<<"年的第"<<date.day+n<<"天";
} 展开
#include<iostream>
using namespace std;
struct Date{
int year;
int month;
int day;
};
Date date;
int main(){
cout<<"请输入年月日的日期:";
cin>>date.year>>date.month>>date.day;
int n=0;
if(date.year%4==0){
for(int i=1;i<=date.month;i++){
if(i=1)n=n+31;
if(i=2)n=n+29;
if(i=3)n=n+31;
if(i=4)n=n+30;
if(i=5)n=n+31;
if(i=6)n=n+30;
if(i=7)n=n+31;
if(i=8)n=n+31;
if(i=9)n=n+30;
if(i=10)n=n+31;
if(i=11)n=n+30;
if(i=12)n=n+31;
}
}
if(date.year%4!=0){
for(int i=1;i<=date.month;i++){
if(i=1)n=n+31;
if(i=1)n=n+31;
if(i=2)n=n+28;
if(i=3)n=n+31;
if(i=4)n=n+30;
if(i=5)n=n+31;
if(i=6)n=n+30;
if(i=7)n=n+31;
if(i=8)n=n+31;
if(i=9)n=n+30;
if(i=10)n=n+31;
if(i=11)n=n+30;
if(i=12)n=n+31;
}
}
cout<<"你输入的这一天是"<<date.year<<"年的第"<<date.day+n<<"天";
} 展开
1个回答
展开全部
提3个问题点:
赋值与等于
闰年判断
循环语句终止条件问题
给出的代码:
#include<iostream>
using namespace std;
struct Date{
int year;
int month;
int day;
};
Date date;
int main(){
cout<<"请输入年月日的日期:";
cin>>date.year>>date.month>>date.day;
int n=0;
if(date.year%4==0&&date.year%100!=0||date.year%400==0)
{
for(int i=1;i<date.month;i++){
if(i==1)n+=31;
if(i==2)n+=29;
if(i==3)n+=31;
if(i==4)n+=30;
if(i==5)n+=31;
if(i==6)n+=30;
if(i==7)n+=31;
if(i==8)n+=31;
if(i==9)n+=30;
if(i==10)n+=31;
if(i==11)n+=30;
if(i==12)n+=31;
}
}else
{
for(int i=1;i<date.month;i++){
if(i==1)n+=31;
if(i==2)n+=28;
if(i==3)n+=31;
if(i==4)n+=30;
if(i==5)n+=31;
if(i==6)n+=30;
if(i==7)n+=31;
if(i==8)n+=31;
if(i==9)n+=30;
if(i==10)n+=31;
if(i==11)n+=30;
if(i==12)n+=31;
}
}
cout<<"你输入的这一天是"<<date.year<<"年的第"<<date.day+n<<"天";
}
这不是最好的代码,最好的算法,核心只有4行代码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询