工大在线

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3004|回复: 20
打印 上一主题 下一主题

[校园新闻] 西工“探索杯”编程大赛比赛样题

[复制链接]

18

主题

0

好友

93

积分

秀才

Rank: 3Rank: 3

该用户从未签到

西工币
2151 枚
好评度
0 点
声望
41 点
注册时间
2007-4-23
帖子
72
积分
93
UID
9687
跳转到指定楼层
1#
发表于 2008-4-7 13:42:08 |只看该作者 |倒序浏览
中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。

*问题分析与算法设计
根据题意可以将解题过程分为三步:
1)计算从1990年1月1日开始至指定日期共有多少天;
2)由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除;
3)根据余数判断他是在“打鱼”还是在“晒网”;
若 余数为1,2,3,则他是在“打鱼”
否则 是在“晒网”
在这三步中,关键是第一步。求从1990年1月1日至指定日期有多少天,要判断经历年份中是否有闰年,二月为29天,平年为28天。闰年的方法可以用伪语句描述如下:
如果 ((年能被4除尽 且 不能被100除尽)或 能被400除尽)
则 该年是闰年;
否则 不是闰年。
C语言中判断能否整除可以使用求余运算(即求模)

*程序说明与注释
#include<stdio.h>
int days(struct date day);
struct date{
int year;
int month;
int day;
};

int main()
{
struct date today,term;
int yearday,year,day;
printf("Enter year/month/day:");
scanf("%d%d%d",&today.year,&today.month,&today.day); /*输入日期*/
term.month=12; /*设置变量的初始值:月*/
term.day=31; /*设置变量的初始值:日*/
for(yearday=0,year=1990;year<today.year;year++)
{
term.year=year;
yearday+=days(term); /*计算从1990年至指定年的前一年共有多少天*/
}
yearday+=days(today); /*加上指定年中到指定日期的天数*/
day=yearday%5; /*求余数*/
if(day>0&&day<4) printf("he was fishing at that day.\n"); /*打印结果*/
else printf("He was sleeping at that day.\n");
}

int days(struct date day)
{
static int day_tab[2][13]=
{{0,31,28,31,30,31,30,31,31,30,31,30,31,}, /*平均每月的天数*/
{0,31,29,31,30,31,30,31,31,30,31,30,31,},
};
int i,lp;
lp=day.year%4==0&&day.year%100!=0||day.year%400==0;
/*判定year为闰年还是平年,lp=0为平年,非0为闰年*/
for(i=1;i<day.month;i++) /*计算本年中自1月1日起的天数*/
day.day+=day_tab[lp];
return day.day;
}

此题难度同比稍大些[s:30] 计算机学院科协在食堂门口等着大家的到来。[s:19] [s:19]
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏0 顶!~顶!~0 扔鸡蛋~扔鸡蛋~0
我的西安工大~~~~~~

74

主题

7

好友

2301

积分

荣誉会员

荣誉会员

Rank: 8Rank: 8

该用户从未签到

西工币
8575 枚
好评度
11 点
声望
321 点
注册时间
2007-9-9
帖子
2036
积分
2301
UID
12104

灌水龙王奖 帖子大王 超级清洁员 天蝎座 寅虎

2#
发表于 2008-4-7 13:43:42 |只看该作者
回复

使用道具 举报

7

主题

0

好友

254

积分

举人

Rank: 4

该用户从未签到

西工币
759 枚
好评度
0 点
声望
235 点
注册时间
2006-9-12
帖子
136
积分
254
UID
3052
3#
发表于 2008-4-7 16:21:57 |只看该作者
晕 这都算难度大?

看看ACM吧

这程序我20分钟足够
回复

使用道具 举报

94

主题

5

好友

1182

积分

荣誉会员

Rank: 8Rank: 8

该用户从未签到

西工币
7832 枚
好评度
2 点
声望
648 点
注册时间
2008-1-3
帖子
841
积分
1182
UID
13745

终身成就奖 特殊贡献奖 论坛元老 音乐天才 金牛座 辰龙 MVP 音乐达人

4#
发表于 2008-4-7 18:15:40 |只看该作者
高手!参赛啊!能满足你的要求的哦
回复

使用道具 举报

74

主题

7

好友

2301

积分

荣誉会员

荣誉会员

Rank: 8Rank: 8

该用户从未签到

西工币
8575 枚
好评度
11 点
声望
321 点
注册时间
2007-9-9
帖子
2036
积分
2301
UID
12104

灌水龙王奖 帖子大王 超级清洁员 天蝎座 寅虎

5#
发表于 2008-4-7 21:02:07 |只看该作者
我关心的是奖项是什么?!~呵呵~如果是RMB,那我就参加了哈~[s:35] [s:35] [s:31] [s:31] [s:31]
回复

使用道具 举报

74

主题

7

好友

2301

积分

荣誉会员

荣誉会员

Rank: 8Rank: 8

该用户从未签到

西工币
8575 枚
好评度
11 点
声望
321 点
注册时间
2007-9-9
帖子
2036
积分
2301
UID
12104

灌水龙王奖 帖子大王 超级清洁员 天蝎座 寅虎

6#
发表于 2008-4-7 21:07:38 |只看该作者
行了,不管发什么,我都参加了!好坏也要对得起俺们的帆哥啊!~他可是我的程序老师啊!~
回复

使用道具 举报

18

主题

0

好友

93

积分

秀才

Rank: 3Rank: 3

该用户从未签到

西工币
2151 枚
好评度
0 点
声望
41 点
注册时间
2007-4-23
帖子
72
积分
93
UID
9687
7#
发表于 2008-4-9 19:34:02 |只看该作者

回复 6楼 的帖子

是的是的!!
证明自己才是最重要的!![s:19]
我的西安工大~~~~~~
回复

使用道具 举报

94

主题

5

好友

1182

积分

荣誉会员

Rank: 8Rank: 8

该用户从未签到

西工币
7832 枚
好评度
2 点
声望
648 点
注册时间
2008-1-3
帖子
841
积分
1182
UID
13745

终身成就奖 特殊贡献奖 论坛元老 音乐天才 金牛座 辰龙 MVP 音乐达人

8#
发表于 2008-4-9 21:47:37 |只看该作者
回复

使用道具 举报

0

主题

0

好友

113

积分

秀才

Rank: 3Rank: 3

该用户从未签到

西工币
3115 枚
好评度
0 点
声望
224 点
注册时间
2006-8-30
帖子
1
积分
113
UID
2642
9#
发表于 2008-4-10 11:24:54 |只看该作者
也就一般吧。。。
没有参加的必要了。。。。
回复

使用道具 举报

18

主题

0

好友

93

积分

秀才

Rank: 3Rank: 3

该用户从未签到

西工币
2151 枚
好评度
0 点
声望
41 点
注册时间
2007-4-23
帖子
72
积分
93
UID
9687
10#
发表于 2008-4-10 21:08:15 |只看该作者

回复 9楼 的帖子

同学:
  
  要是你有编程的特长,您可以杀到决赛和我们计算机学院的余老师、乔老师出的题过过招!看看你到底强还是弱,在这儿说不是好汉!!
  
  还有就是同学你真的是强人,那么就参加,我们明天还能报名一天,你要是真是厉害,我们从比赛中寻找的就是你,我们还等着你给咱们学校拿回来一次Acm的奖杯呢。想要做难题先看看还有没有比你更厉害的同学。

要是同学你不是一个眼高手低的人,要是你真的有实力,那请你加入到这次活动中;这个样题是很简单,可是要是难了是不是你又要说题太难了,自己不会??这次活动的主要目的还要给更高级的比赛输送人才,请又能力的你不要隐匿自己的才能,通过这次活动不仅给自己一个机会,还有可能给咱们学校增加荣誉,何乐而不为呢。
  
  我们这次并不是形式主义,这点请你放心,我们是在尽自己最大努力来做;科协成立了也只有二年,肯定会有经验欠缺的地方,要是有什么不足请你多指教。你要不是在这儿发泄的过客,而是一个隐匿的高手,请你参加这次比赛,明天我们还有一下午的报名时间。
  
要是你错过了报名的时间,我的邮箱是xait111@163.com,你把你的姓名、学号、系别、宿舍号、联系方式、用什么语言编程,把这些发给我,我帮你报名。你需要的软件我帮你在机房里面装。

谢谢!!
[s:39] [s:33]

[ 本帖最后由 bigice803 于 2008-4-10 22:07 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

我的西安工大~~~~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|xatubbs.com ( 苏ICP备11050183号 )

GMT+8, 2025-7-22 13:42 , Processed in 0.179772 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部