| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 610 人关注过本帖
标题:有兴趣的来看看!
只看楼主 加入收藏
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
 问题点数:0 回复次数:9 
有兴趣的来看看!
本程序的功能是查询所输入的年月日是星期几:
程序清单:
#include "stdio.h"
void main()
{static int year,month,day,n,m,i,close=0,a[]={0,31,59,90,120,151,181,212,243,273,304,334};
printf("请输入年月日(如:2000.1.1以回车结束输入,以32767退出系统.):\n");
do{
loop: scanf("%d.%d.%d",&year,&month,&day);
if(year==32767) {close=1;break;}
else if(year>32767||year<1||month>12||month<1||day>31||day<1||month==2&&day>29||(month==4||month==6||month==9||month==11)&&day>30||!(year%400==0||year%100!=0&&year%4==0)&&month==2&&day==29)
{printf("对不起,您的输入错误,请重新输入!\n"); goto loop;}
m=a[month-1];
for(i=1;i<year;i++)
{if(i%400==0||i%100!=0&&i%4==0) n++; /*计算year年前闰年的个数*/
else continue;}
if(year%400==0||year%100!=0&&year%4==0)
if(month<=2) n=(year-1+n+m+day)%7;
else n=(year+n+m+day)%7;
else n=(year-1+n+m+day)%7; /*计算模7的余数*/
switch(n) /*输出结果*/
{case 0:printf("%d年%d月%d日是星期天.\n",year,month,day);break;
case 1:printf("%d年%d月%d日是星期一.\n",year,month,day);break;
case 2:printf("%d年%d月%d日是星期二.\n",year,month,day);break;
case 3:printf("%d年%d月%d日是星期三.\n",year,month,day);break;
case 4:printf("%d年%d月%d日是星期四.\n",year,month,day);break;
case 5:printf("%d年%d月%d日是星期五.\n",year,month,day);break;
default:printf("%d年%d月%d日是星期六.\n",year,month,day);}
year=0;month=0;day=0;n=0;m=0;i=0;
}while(close!=1);
}
搜索更多相关主题的帖子: 兴趣 
2005-12-12 03:16
bjdcbltx
Rank: 1
等 级:新手上路
帖 子:167
专家分:0
注 册:2005-12-4
收藏
得分:0 

感谢有大家的陪伴!!! E-mail:bjdcbltx@
2005-12-12 09:06
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

不错,不过有点麻烦哦,有个更简单的方法


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-12-14 00:57
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

《初等数论》里有几个公式可以算这个,知道年,月,日直接用公式算就可以了,应该在“同余”那章


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-12-14 01:07
lihuiyi
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-12-14
收藏
得分:0 
2005-12-14 06:56
wzzhi
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2005-11-11
收藏
得分:0 
看得头有点大,

2005-12-14 18:52
沈阳男孩
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-12-11
收藏
得分:0 
看了,就是看不明白,
2005-12-14 20:16
卡拉是只猫
Rank: 1
等 级:新手上路
威 望:1
帖 子:129
专家分:0
注 册:2005-12-7
收藏
得分:0 
以下是引用303770957在2005-12-12 3:16:00的发言:
if(year==32767) {close=1;break;}
else if(year>32767||year<1||month>12||month<1||day>31||day<1||month==2&&day>29||(month==4||month==6||month==9||month==11)&&day>30||!(year%400==0||year%100!=0&&year%4==0)&&month==2&&day==29)
{printf("对不起,您的输入错误,请重新输入!\n"); goto loop;}
这个判断还真有个性。。顶!!

搞不懂就问人,搞得懂就答人。
2005-12-14 23:28
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 

要认真的看啊!我撒懒没有注释的!呵呵!


♂ 死后定当长眠,生前何须久睡。♀
2006-02-09 13:04
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 
呵呵!

♂ 死后定当长眠,生前何须久睡。♀
2006-03-16 23:56
快速回复:有兴趣的来看看!
数据加载中...
 
   



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

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