下载此文档

c语言趣味题.doc


文档分类:IT计算机 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
c语言趣味题.doc、九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1 *5=5 2*5=10 3*5=15 4*5=20 5*5=25
1 *6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72
9*9=81
分析:
这需要编写一个循环结构的程序。
需要循环嵌套。外循环控制打印第几行,内循环控制打印某 一行的若干个等式。
程序如下:
main()
{int m,n;
for(m=1 ;m<=9;m++)
{for (n=1 ;n<=m;n++)
printf("%1 d*%1 d=%-4d”,m,n,m*n);
printf("\n");
请思考:请你用别的编程方法再解此题。
二、说谎
有甲、乙、丙三人,每人或者说真话,或者说假话。
甲说:“乙说假话。”
乙说:“甲和丙是同一种人。”
问甲、乙、丙三人谁说真话,谁说假话?
分析:
本题看似漫无边际,无法入手,不知道怎么与C语言程序设 计挂钩。但只要和“真”、“假”、逻辑表达式联系起来,脉络就清晰起 来。
这里用整型变量a、b、c表示甲、乙、丙三人说话的真假, 当变量值为1时表示此人说真话,变量值为0时表示此人说假话。
甲说:“乙说假话。”这有两种可能:甲说的是真话,而乙确实说 假话,即:
a==1&&b==0 等价于 a&&!b
或者甲说的是假话,而乙说真话,即:
a==0&&b==1 等价于!a&&b
由此可得逻辑表达式:
a&&!b||!a&&b
乙说:“甲和丙是同一种人。”这有两种可能:乙说真话,而甲和 丙确是同一种人,即:
b==1&&a==c 等价于 b&&a==c
或者乙说的是假话,而甲和丙不是同一种人,即:
b==0&& a!=c 等价于!b&& a!=c
由此可得逻辑表达式:
b&&a==c||!b&& a!=c
上述两个逻辑表达式是“与”的关系(因为该满足的条件都要满 足,所以是“与”的关系),最终得到确定谁说真话的逻辑表达 式 (a&&!b|| !a&&b)&&( b&&a==c|| !b&& a!=c)
穷举每个人说真话或说假话的各种情况,用上述表达式测 试,使上述表达式的值为1(真)的情况就是正确的结果。
程序如下:
main()
{
int a,b,c;
for(a=0;a<=1 ;a++)
for(b=0;b<=1 ;b++)
for(c=0;c<=1 ;c++)
{if((a&&!b||!a&&b)&&( b&&a==c||!b&& a!=c))
printf("a=%d,b=%d,c=%d\rT,a,b,c);
运行结果为:
3=0,b=1 ,c=0
3=1 ,b=0,c=0
请思考:如果题目中加入“丙说:’甲说假话。"',则程序如何编 写?运行结果又是什么?
三、兔子繁殖问题
求 Fibonacci 数列:1, 1, 2, 3, 5, 8, 13,...的前 40 项。
本题来自于一个有趣的古典数学问题:有一对兔子,从出生后 的第3个月起每个月都生一对兔子。小兔子长到第3个月又生一对兔 子。如果生下的所有兔子都能成活,且所有的兔子都不会因年龄大而 老死,问每个月的兔子总数为多少?
分析:
此数列的规律是第1、2项都是1,从第3项开始,都是其 前两项之和,并且有固定循环次数,因此可以用for循环实现。
这里用到的是什么算法呢?是迭代算法。迭代算法的基本思 想是:不断地用新值取代变量的旧值,或由旧值递推出变量的新值。
程序如下:
main()
long int f1 ,f2;
inti;
f1=1;f2=1;
for(i=1 ;i<=20;i++)
{
printf("%12ld %12ld ",f1 ,f2); /*每次输出两项*/
if(i%2==0) printf("\n");
f1=f1+f2;
f2=f2+f1;/* 求出两项*/
}
}
四、百钱与百鸡
我国古代数学家张丘建在《算经》中提出了著名的“百钱百鸡问 题":“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买 百鸡,翁、母、雏各几何? ”意思是说:一只公鸡卖5枚钱,一只母 鸡卖3枚钱,三只小鸡卖1枚钱,

c语言趣味题 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小健
  • 文件大小68 KB
  • 时间2021-08-10