问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求编程 C语言 计算生日是当年的第多少天

发布网友 发布时间:2023-07-05 00:45

我来回答

4个回答

热心网友 时间:2024-10-22 16:50

算了,我重改一个,但这个程序只能算出正确结果,不判断输入的年月日是否合法,其中考虑了闰年等问题。

#include "iostream.h"
int main()
{
cout<<endl<<"此程序用于计算某日期为当年第几天。"<<endl<<endl;
cout<<"请输入一个日期(年月日用空格隔开,前面不要加零):";
int l,y,r;
cin>>l>>y>>r; //输入一个日期
int tian=0;
switch (y)
{
case 12:
tian=tian+30;//如果月份是12月,那么加上11月的全部天数。再顺序加上以下的所有月份天数。
case 11:
tian=tian+31;//如果月份是11月,那么加上10月的全部天数。再顺序加上以下的所有月份天数。
case 10:
tian=tian+30;
case 9:
tian=tian+31;
case 8:
tian=tian+31;
case 7:
tian=tian+30;
case 6:
tian=tian+31;
case 5:
tian=tian+30;
case 4:
tian=tian+31;
case 3:
(l%400==0 || (l%4==0 && l%100!=0))?(tian=tian+29):(tian=tian+28);
case 2:
tian=tian+31;
case 1:
tian=tian+r;//最后加上当月的号数。
}
cout<<"此日期为当年第"<<tian<<"天"<<endl;
return 0;
}

热心网友 时间:2024-10-22 16:50

仅代表思路,语法不保证正确

for(i=1,i<=m,i++)
{
switch(m)
{
case 2:sum+=(y%4==0&&y%100!=0||y%400==0)?28:29;break;
case 4:
case 6:
case 9:
case 11:sum+=30;break;
default:sum+=31;break;
}
}
sum+=d;

热心网友 时间:2024-10-22 16:51

#include<stdio.h>
void main()
{
int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int imonth,iday,ans;
scanf(%d,%d,imonth,iday);
ans = ....

}

热心网友 时间:2024-10-22 16:51

#include "stdafx.h"
#include <stdio.h>

int GetDaysOfYear(int nYear)
{
if((nYear%4 == 0 && nYear%100 !=0) || nYear%400 == 0)
{
return 366;
}
else
return 365;
}

int GetDaysOfMonth(int nMonth,int nYear)
{
switch(nMonth)
{
case 4:
case 6:
case 8:
case 11:
return 30;
case 2:
if(GetDaysOfYear(nYear) == 365)
return 28;
else
return 29;
break;
default:
return 31;
}
}

class date
{
public:
void Set(int n1=1900, int n2=1, int n3=1);

int operator - (const date &v1);

int m_nYear;
int m_nMonth;
int m_nDay;

};

int date::operator -(const date &v1)
{
int nCounter = 0;

int nYear = m_nYear - v1.m_nYear;
if(nYear == 0)
{
int nMonth = m_nMonth - v1.m_nMonth;
if(nMonth == 0)
return m_nDay - v1.m_nDay;
else if(m_nMonth >0)
{
for(int i=v1.m_nMonth+1; i<m_nMonth; i++)
nCounter += GetDaysOfMonth(i,m_nYear);

nCounter += m_nDay;
nCounter += GetDaysOfMonth(v1.m_nMonth,v1.m_nYear) - v1.m_nDay;
}
}
else if(nYear > 0)
{
for(int i=v1.m_nYear+1; i<m_nYear; i++)
nCounter+=GetDaysOfYear(i);
for(int i=1; i<m_nMonth; i++)
nCounter += GetDaysOfMonth(i,m_nYear);
nCounter+=m_nDay;
for(int i=v1.m_nMonth+1; i<13; i++)
nCounter += GetDaysOfMonth(i,v1.m_nYear);
nCounter += GetDaysOfMonth(v1.m_nMonth,v1.m_nYear) - v1.m_nDay;
}

return nCounter;

}

void date::Set(int n1, int n2, int n3)
{
if(n1 > 999)
{
m_nYear = n1;
m_nMonth = n2;
m_nDay = n3;
}
else
{
m_nMonth = n1;
m_nDay = n2;
m_nYear = n3;
}
}

void main()
{
date d1,d2;

d1.Set(1985,1,1); // 生日
d2.Set(2007,12,7); // 今天

int nDays = d2 - d1;
printf("生日到今天有%d天\n",nDays);

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
成都市金牛区年满70的老年人,能否买社保,怎么样购买?需要哪些条件? 请问外地户籍如何在成都五城区购买社保? 对象控制欲强,爱翻手机,怎么让她知道要有自己的空间? 三里屯街道邮编代码 ...个上海旭一汽贸,车都是很便宜,思域6.2万包过户,来回还报销路费... 模拟城市5城市设计图文攻略(第二期) 控制欲强男友的危害 怎样做好托管班招生宣传呢? 2012年安徽理科487分能上洛阳理工学院吗? 2024年湖北492分能考上什么大学? 陈艳是什么朝代的 ilike___bear. a,you b,your c,it 晒干的红薯叶如何吃 晒干的红薯叶怎么吃 java 输出byte[]出现乱码 在java里面讲下面的字节数组转化为字符串,里面包含有中文,直接转会乱码... Java中byte[]转换成String有数据丢失现象,原byte[]长度为6714转换成St... 佛山市顺德区龙江镇龙山中域电讯虚假宣传!推销手机!还有上当受骗的人... 超标电动车上路C1驾照将被吊销 厦门男子骑电动车被吊销C1汽车驾驶证,后把交警告上法院,法院咋判的? 男子酒后骑电动车被吊销机动车驾驶证,上诉至法院后,法院怎么判的? 谁能帮我翻译一下这个地址: 谢谢,谢谢 DIR LOWER, Pakistan? 急~~高手请进!答对加高分! dir ty怎么读 低调男孩恋爱会有怎样的表现? 魏晨求婚成功,像他这样沉稳低调的男人是不是很多女孩子喜欢? 求韩国吸血鬼电影,开始一只蚊子坐飞机来到韩国, 求韩国电影《漂亮的吸血鬼》 Remake Me & You 歌词 YouCanTakeItwithYou 合众村邮编是多少 海康威视监控接好后四个头只能看到一个为什么 弗洛伊德对心理学的贡献有什么 弗洛伊德对依恋的观点 勇闯天涯和崂山哪个劲大 西格蒙德·弗洛伊德对后代教育的影响? 舞女泪是那个年代的 什么广场舞歌曲歌词里有天天泡酒吧 河北省张家口市赤城县邮编是什么 赤城县邮政编码是多少 如何在电脑上下载安装企业反诈app 怎么在美国下载反诈软件 全民超神精灵女神1V1怎么打 超神吧英雄阵容怎么选 超神吧英雄阵容怎么搭配 超神吧英雄战斗力怎么提升 超神吧英雄阵容搭配攻略 全民超神科技之神怎么出装 iphone一个手机游戏2加2可以碰在一起,4加4也可以碰在一起,然后比如520... 宙斯的哪个儿子主管光明青春音乐诗歌,以手持弓箭的少年形象出现?_百度... 阿波罗是个什么样的人