一、数学知识:
长方形的面积S=a*b
长方形周长L=2*(a+b)
其中a b分别为长方形的宽和高。
二、算法分析:
长方形面积及周长均依赖于宽和高,所以先要输入宽高值,然后根据公式计算,输出结果即可。
三、参考代码:
#include <stdio.h>void main()
{
double a,b
double L,S
scanf("%lf%lf",&a,&b)//输入宽和高。
L=2*(a+b)//计算周长。
S=a*b//计算面积。
printf("面积=%lf, 周长=%lf\n", S, L)//输出结果。
}
四、注意事项:
因为没有限制输入为整型,所以使用浮点型用来存储各项值。输入输出要用%lf。
分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
十万火急~~~~明天要交作业
解析:
我写一个猜数字游戏吧!:
/*猜数字游戏:计算机随机给出一个1~100之间的数,你输入一个数,程序判断是否是程序
选定的那个数字,如果不正确,程序会告诉你大于或者小于这个数的提示,如:程序选择是7,你输入8,则提示大于了,给你猜10次*/
#include <stdio.h>
main()
{int i,guess,number
number=abs(rand()%100)+1
printf("猜数字:")
for(i=1i<=10i++)
{scanf("%d",&guess)
if (guess==number)
{
printf("正确!\n")
break}
else
if (guess <number)
printf("小了!\n")
else
printf("大了\n")
}
#include\x0d\x0a void move(char x,char y)\x0d\x0a {\x0d\x0a printf("%c-->%c\n",x,y)\x0d\x0a }\x0d\x0a void hanoi(int n,char one ,char two,char three)\x0d\x0a {\x0d\x0a if(n==1) move(one,three)\x0d\x0a else\x0d\x0a {\x0d\x0a hanoi(n-1,one,three,two)\x0d\x0a move(one,three)\x0d\x0a hanoi(n-1,two,one,three)\x0d\x0a }\x0d\x0a }\x0d\x0a main()\x0d\x0a {\x0d\x0a int m\x0d\x0a printf("input the number of disks:")\x0d\x0a scanf("%d",&m)\x0d\x0a printf("the step to moving %3d diskes:\n",m)\x0d\x0a hanoi(m,'A','B','C')\x0d\x0a }\x0d\x0a算法介绍:\x0d\x0a 其实算法非常简单,当盘子的个数为n时,移动的次数应等于2^n _ 1(有兴趣的可以自己证明试试看)。后来一位美国学者发现一种出人意料的简单方法,只要轮流进行两步 *** 作就可以了。首先把三根柱子按顺序排成品字型,把所有的圆盘按从大到小的顺序放在柱子A上,根据圆盘的数量确定柱子的排放顺序:若n为偶数,按顺时针方向依次摆放 A B C;\x0d\x0a 若n为奇数,按顺时针方向依次摆放 A C B。\x0d\x0a (1)按顺时针方向把圆盘1从现在的柱子移动到下一根柱子,即当n为偶数时,若圆盘1在柱子A,则把它移动到B;若圆盘1在柱子B,则把它移动到C;若圆盘1在柱子C,则把它移动到A。\x0d\x0a (2)接着,把另外两根柱子上可以移动的圆盘移动到新的柱子上。即把非空柱子上的圆盘移动到空柱子上,当两根柱子都非空时,移动较小的圆盘。这一步没有明确规定移动哪个圆盘,你可能以为会有多种可能性,其实不然,可实施的行动是唯一的。\x0d\x0a (3)反复进行(1)(2) *** 作,最后就能按规定完成汉诺塔的移动。\x0d\x0a 所以结果非常简单,就是按照移动规则向一个方向移动金片:\x0d\x0a 如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C\x0d\x0a 汉诺塔问题也是程序设计中的经典递归问题,下面我们将给出递归和非递归的不同实现源代码。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)