C语言趣味程序设计题目百例Word下载.docx

上传人:b****5 文档编号:19502091 上传时间:2023-01-07 格式:DOCX 页数:45 大小:33.81KB
下载 相关 举报
C语言趣味程序设计题目百例Word下载.docx_第1页
第1页 / 共45页
C语言趣味程序设计题目百例Word下载.docx_第2页
第2页 / 共45页
C语言趣味程序设计题目百例Word下载.docx_第3页
第3页 / 共45页
C语言趣味程序设计题目百例Word下载.docx_第4页
第4页 / 共45页
C语言趣味程序设计题目百例Word下载.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

C语言趣味程序设计题目百例Word下载.docx

《C语言趣味程序设计题目百例Word下载.docx》由会员分享,可在线阅读,更多相关《C语言趣味程序设计题目百例Word下载.docx(45页珍藏版)》请在冰豆网上搜索。

C语言趣味程序设计题目百例Word下载.docx

1224ProblemN

趣味程序设计_新郎新娘

1225ProblemO

趣味程序设计_称重砝码

1226ProblemP

趣味程序设计_求车速

1227ProblemQ

趣味程序设计_谁是窃贼

1228ProblemR

趣味程序设计_出售金鱼

1229ProblemS

趣味程序设计_百钱百鸡

1230ProblemT

趣味程序设计_谜语博士

1231ProblemU

趣味程序设计_猜牌术(-)

1232ProblemV

趣味程序设计_舍罕王的失算

1233ProblemW

趣味程序设计_怎样存钱利最大

1234ProblemX

趣味程序设计_猜牌术

(二)

1235ProblemY

趣味程序设计_爱因斯坦的数学题

1236ProblemZ

趣味程序设计_取火柴游戏

1237Problema

趣味程序设计_平分鱼和筐

1238Problemb

趣味程序设计_可逆素数

1239Problemc

趣味程序设计_三色球问题

1240Problemd

趣味程序设计_抢n游戏

写在最前:

本文档中的题目;

在不不同的编译器中可能会有提示错误,呵呵,小小的动动手改下变量的定义就可以运行了………………..

由于能力不足..有题目未解决的…或者有错误的我会…认真听取大家的..意见的….

呵呵……..有一两个….偷了下懒哦………

提供原题目还有本人自己的解答的源代码。

感谢大家的。

建议…………….

问题A:

趣味程序设计_狼追兔子

时间限制:

1Sec 

内存限制:

128MB

提交:

341 

解决:

63

[提交][状态][讨论版]

题目描述

一只兔子躲进了n个环形分布的洞的某一个中。

狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;

也没有找到,就隔两个洞,到第六个洞去找。

以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?

输入

有多组测试数据,读取到文件结尾符为止。

每组测试数据输入n(2≤n≤100),即洞穴个数。

输入到文件结尾符为止。

输出

兔子可能藏匿的洞。

如果不止一个,按从小到大的顺序输出。

如果不存在,输出空行。

样例输入

10

8

15

样例输出

2479

245789111214

提示

用一个数组a[10],对应的元素a[0],a[1],a[2]……a[9]对应表示10个洞,初值均置1。

通过一个循环用“穷举法”找兔子,第n次查找对应第(n-1)%10个洞,如果在第(n-1)%10个洞中没有找到兔子,因此将数组元素a[(n-1)%10]置0值。

循环完成后,检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身该洞中。

#include<

stdio.h>

string.h>

intok[110];

intmain()

{

intn,s,i,find;

while(scanf("

%d"

&

n)!

=EOF)

memset(ok,0,sizeof(ok));

for(i=1;

i<

=200;

i++)

if(!

ok[find=(i*(i+1)/2)%n])

if(find==0)

ok[n]=1;

else

ok[find]=1;

for(s=0,i=1;

=n;

s+=ok[i];

for(i=1,find=0;

ok[i])

if(find!

=(n-s-1))

printf("

%d"

i);

find++;

}

\n"

);

return0;

}

问题B:

趣味程序设计_巧夺偶数

174 

73

桌子上有25颗棋子。

游戏双方轮流取子,每人每次最少取走一颗棋子,最多可取走3颗棋子。

双方照这样取下去,直到取光所有的棋子。

于是双方手中必然一方为偶数,一方为奇数,偶数方为胜者。

请编程实现人机游戏。

人先走,计算机后走。

若游戏结束,则输出“Gameover!

”。

输入人取走棋子的个数。

输入一次,按一次回车。

游戏不止一轮。

按下文件结尾符,退出游戏。

必须在完成一轮后退出游戏。

不得中途退出游戏。

输出计算机取走的个数,每次输出最优解。

1

2

3

Gameover!

intn,sum=25;

loop:

sum-=n;

if(sum==1)

1\nGameover!

sum=25;

gotoloop;

if(sum==3||sum==2)

1\n"

sum--;

if(sum<

=0)

%d\n"

4-n);

if(n==1)

sum-=3;

if(n==2)

sum-=2;

if(n==3)

sum-=1;

问题C:

趣味程序设计_五猴分桃

186 

102

5只猴子一起摘了1堆桃子。

因为太累了,它们商量决定,先睡一觉再分。

过了不知多久,1只猴子来了。

它见别的猴子没来,便将这1堆桃子平均分成5份,结果多了1个,就将多的这个吃了,拿走其中的1堆。

又过了不知多久,第2只猴子来了。

它不知道有1个同伴已经来过,还以为自己是第1个到的呢。

于是将地上的桃子堆起来,平均分成5份,发现也多了1个,同样吃了这1个,拿走其中的1堆。

第3只、第4只、第5只猴子都是这样……问这5只猴子至少摘了多少个桃子?

第5个猴子走后还剩下多少个桃子?

输出5只猴子至少摘了多少个桃子,第5个猴子走后还剩下多少个桃子。

中间用空格隔开。

31211020

思路一:

“分”——假设至少摘了first_num个桃子,则令first_num=6,7,8,9,10,……这样不断的试,如果那个数能按规则(first_num=(first_num-1)/5*4)被5只猴子顺利的吃1个并分5组,则为所求。

思路二:

“凑”——假设最后剩下last_num个桃子,则令last_num=4,5,6,7,8,9,10,……这样不断的试,如果那个数能按规则(last_num%4==0则last_num=last_num/4*5+1)凑5次,则为所求。

time.h>

intfirst,i,t;

5000;

i+=5)

first=i;

for(t=1;

t<

=5;

t++)

if(first%5==1)

first=(first-1)/5*4;

if(t==5)

%d%d\n"

i,first);

break;

// 

printf("

time:

%.2lf\n"

(double)clock()/CLOCKS_PER_SEC);

问题D:

趣味程序设计_高次方数

559 

80

求13的n次方(12<

n≤130********0)的最后三位数。

例如:

13的13次方的最后三位数是253,13的20次方的最后三位数是801。

有多组测试数据,每组测试数据一行,即整数n。

以文件结尾符结束。

输出13的n次方的最后三位数

13

20

253

801

64位整型用longlong表示,格式串为"

%lld"

intfun(longlongn)

intk=13,t=1;

while(n>

0)

if(n%2==1)

t=t*k%1000;

k=k*k%1000;

n>

>

=1;

returnt;

longlongn;

%03d\n"

fun(n));

问题E:

趣味程序设计_借书方案

429 

154

小明有n本新书,要借给A、B、C三位小朋友。

只借一次。

若每人每次只能借一本,则可以有多少种不同的借法?

有多组测试数据,输入整数n(5≤n≤1000),输入到文件结尾符为止。

借法总数。

5

6

7

60

120

210

336

%lld\n"

n*(n-1)*(n-2));

问题F:

趣味程序设计_过桥问题

102 

19

过桥问题。

有N(N≥2)个人在晚上需要从X地到达Y地,中间要过一座桥,过桥需要手电筒(而他们只有1个手电筒),每次最多两个人一起过桥(否则桥会垮)。

N个人的过桥时间依次存入数组t[N]中,分别为:

t[0],t[1],……,t[N-1]。

过桥的速度以慢的人为准!

注意:

手电筒不能丢过桥!

问题是:

编程求这N个人过桥所花的最短时间。

有多组测试数据,

每组数据先输入一个人数N,然后输入这N个人过桥所花的时间。

输出对应的最短时间。

412510

452101

17

voidfun(int*a,intn)

inti,j,t,k;

for(i=0;

n-1;

k=i;

for(j=i+1;

j<

n;

j++)

if(a[j]<

a[k])

k=j;

if(i!

=k)

t=a[i];

a[i]=a[k];

a[k]=t;

inta[100],i,n,time,k;

time=0;

scanf("

a[i]);

fun(a,n);

k=n-1;

while

(1)

if(k<

=2)

if(k==0)

time+=a[0];

if(k==1)

time+=a[1];

if(k==2)

time+=(a[0]+a[1]+a[2]);

time);

if(2*a[1]>

=a[0]+a[k])

time+=(2*a[0]+a[k-1]+a[k]);

if(2*a[1]<

a[0]+a[k])

time+=(a[0]+2*a[1]+a[k]);

k-=2;

问题G:

趣味程序设计_数制转换

265 

110

将任一整数转换为二进制数形式并输出。

有多行数据,每行输入一十进制数字n(1≤n≤2147483647)。

输出n的二进制表示

4

11

100

101

110

111

#include<

voidf(longlongnum)

if(num)

f(num/2);

num%2);

intmain(void)

longlongnum;

while(scanf("

&

num)!

=EOF)

f(num);

putchar('

\n'

问题H:

趣味程序设计_打渔晒网

205 

28

中国有名俗语叫“三天打鱼两天晒网”。

小强从2000年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是在“打鱼”,还是在“晒网”?

输入日期,格式是yyyy-mm-dd,例如2012-01-23。

如果小强在打鱼,那么输出“Heisfishing.”。

如果小强子在晒网,那么输出“Heisdryingnets.”

2000-01-01

2000-01-05

Heisfishing.

Heisdryingnets.

源代码:

intfun(inta)

{

if(a%4==0&

&

a%100!

=0)

return1;

if(a%400==0)

return0;

intsumday(intyear,intmonth,intday)

intsum_day=0,a=0;

if(month>

2)

if(fun(year))

a=1;

=2)sum_day+=31;

=3)sum_day+=28;

=4)sum_day+=31;

=5)sum_day+=30;

=6)sum_day+=31;

=7)sum_day+=30;

=8)sum_day+=31;

=9)sum_day+=31;

=10)sum_day+=30;

=11)sum_day+=31;

=12)sum_day+=30;

sum_day=sum_day+a+day;

returnsum_day;

intsumyear(intyear)

intsum_year=0,i;

for(i=2000;

year;

i++)

{

sum_year+=(365+fun(i));

}

returnsum_year;

intmain()

intyear,month,day,sum,t;

while(scanf("

%d-%d-%d"

year,&

month,&

day)!

=EOF)

sum=sumday(year,month,day)+sumyear(year);

t=sum%5;

if(t==1||t==2||t==3)

printf("

Heisfishing.\n"

if(t==0||t==4)

Heisdryingnets.\n"

问题I:

趣味程序设计_喝酒问题

97 

30

n个人同桌吃饭,其中一个是数学家,他出了一道难题:

假定桌子上有3瓶啤酒,将每瓶中的酒平分给几个人喝,但喝各瓶酒的人数是不一样的,不过其中有且只有一个人喝了每一瓶中的酒,且加起来刚好是一瓶,请问喝这3瓶酒的各有多少人?

有多组测试数据,每行输入总人数n。

输出这三杯酒分别被几个人喝,三个数字从小到大排列。

如果无解,输出“Nosolution”。

Nosolution

236

问题J:

趣味程序设计_哥德巴赫猜想

216 

98

[提交][状态][

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1