用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<<"天";
}
展开
 我来答
paradise300
推荐于2017-11-23 · TA获得超过3560个赞
知道大有可为答主
回答量:2589
采纳率:84%
帮助的人:503万
展开全部

提3个问题点:

  1. 赋值与等于

  2. 闰年判断

  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行代码。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式