回 帖 发 新 帖 刷新版面

主题:就一道题目!!!谁能做出来!!!!

输入某年某月某日,计算这一天是这一年的第几天!!请帮我下谢谢

回复列表 (共9个回复)

沙发

#include "stdafx.h"
#include "iostream.h"
#include "stdlib.h"
#include "iomanip.h"
#define ERROR 0

int main(int argc, char* argv[])
{
    int n,y,r,k,day(0);
    int month1[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    int month2[12]={31,29,31,30,31,30,31,31,30,31,30,31};
    bool j;
    cout<<"Enter the n y r:"<<endl;
    cin>>n>>y>>r;
    if((n<=0)||(y>12||y<=0)||(r>31||y<=0))
        exit(ERROR);
    j=((n%4==0&&n%100!=0)||(n%400==0));
    if(j)
    {
        for(r=0;r<y;r++)
        {    
            day+=month2[r];
            r++;
        }
    }
    else
    {
        for(r=0;r<y;r++)
        {
            day+=month1[r];
            r++;
        }
    }
    day=day+r;
    cout<<n<<"/"<<y<<"/"<<r<<endl;
    cout<<"          为第"<<day<<"天"<<endl; 



    printf("Hello World!\n");
    return 0;
}
十分钟做的,差了点

板凳

高手!!

10分钟我还没想清楚算法呢。

3 楼

记得在自带的一个函数可以实现这个功能!
你自己看一下吧!

4 楼

调用计算日期的函数就可以了!

5 楼

不过要分是闰年还是平年的!

6 楼

j=((n%4==0&&n%100!=0)||(n%400==0));这句改成j=(n%4==0);行不行啊?

7 楼

还有个问题啊,
#include "stdafx.h"
#include "iostream.h"
#include "stdlib.h"
#include "iomanip.h"
#define ERROR 0
应该放在
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
的什么位置啊?

8 楼

唉,什么都不会呀,我什么都想问的,不丢人的吧?呵呵

9 楼

不会,就嫌自己找答案,找不到再来问。

如果你在提问前,先说说你做了哪些努力,我想会有很多人来帮助你的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册