| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1796 人关注过本帖, 1 人收藏
标题:假设今天是某年某月某日求今天是今年的第几天
只看楼主 加入收藏
ayx1984
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-4-7
收藏(1)
 问题点数:0 回复次数:8 
假设今天是某年某月某日求今天是今年的第几天

假设今天是某年某月某日求今天是今年的第几天
要注意的是闰年~! 不知道怎么做了哦

搜索更多相关主题的帖子: 闰年 
2006-04-13 20:47
lmatt
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-3-30
收藏
得分:0 
这个应该不是很难,仔细想想应该可以搞定的.

2006-04-13 20:52
飞凤
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-4-11
收藏
得分:0 
让我来打头阵!
{
int a,b,c,d=0;
printf("请输入年月日,用逗号隔开:")
scanf("%d,%d,%d",&a,&b,&c);

suitch (b);
{
case '11'
d=d+30;
case '10'
d=d+31;
case '9'
d=d+30;
case '8'
d=d+31;
case '7'
d=d+31;
case '6'
d=d+30;
case '5'
d=d+31;
case '4'
d=d+30;
case '3'
d=d+31;
case '1'
d=d+31;
}
if ((a%4==0)&(a%100!=0)||(a%400))
{
d=d+29;
d=d+c;
}
else
{
d=d+28;
d=d+c
}
printf("您输入的%d闰年的第%d天!\n",a,d);
}

2006-04-13 21:56
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
得分:0 

我是新手我也来试试:

#include "stdio.h"

main()

{

 int i,flag,year,month,day,dayth; /*-----定义变量年/月/日/第几天----*/

 int month_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};/*-----定义一维数组一个月有几天的取           值------*/  
 printf("\nplease input year /month/day:");

 scanf("%d/%d/%d",&year,&month,&day); /*-----输入年/月/日-----*/

 dayth=day;

 flag=(year%400==0)||(year%4==0&&year%100!=0);/*---判断闰年----*/

if(flag)

 month_day[2]=29; /*----是闰年,2月份改为29天----*/

for(i=1;i<month;i++) /*------使用for循环语句------*/

 dayth=dayth+month_day[1]; /*---、日期累加----*/

printf("\n%d/%d/%d is %dth day",year,month,day,dayth);/*-----输出结果----*/

}
编译环境为TC2.0。


2006-04-16 10:57
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 

#include<stdio.h>
struct datestruct
{
int year;
int month;
int date;
};
void input(struct datestruct *);
void output(struct datestruct *datep);
int yunnian(int);
void main()
{
struct datestruct date;
input(&date);
output(&date);

}

void input(struct datestruct *datep)
{
printf("请按以下格式输入:\n");
printf("year month date\n");
scanf("%d %d %d",&(*datep).year,&(*datep).month,&(*datep).date );
}

void output(struct datestruct *datep)
{
int i,date=0;
int month[]={31,28,31,30,31,30,31,31,30,31,30,31};

for(i=1;i<(*datep).month;i++)
date+=month[i-1];
date+=(*datep).date;
if(yunnian((*datep).year)&&(*datep).month>1)
date++;
printf("这一天是第%d天\n",date);

}

int yunnian(int year)
{
if((year%4==0&&year%100!=0)||year%400==0)
return 1;
else return 0;
}

运行结果:
请按以下格式输入:
year month date
2006 2 12
这一天是第43天

2006-04-16 11:27
仁者无敌
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2006-3-5
收藏
得分:0 
三楼错误不少啊






I am a programmer !
2006-04-16 11:53
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
三楼的,如果输入二月某日,就会出错.
在程序处理二月的天数时要判断月数是否大于2,要是小于就不加二月的天数
 
2006-04-16 12:16
羁旅天涯
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-9-27
收藏
得分:0 
回复 5 楼 百年不亮
这个一看就不错,结构体加指针
2014-09-27 16:59
羁旅天涯
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-9-27
收藏
得分:0 
回复 5 楼 百年不亮
似乎少了异常处理啊
2014-09-27 17:02
快速回复:假设今天是某年某月某日求今天是今年的第几天
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015997 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved