永发信息网

C语言的计算耗时问题

答案:2  悬赏:10  手机版
解决时间 2021-07-29 22:55

这个汉诺塔程序,输入数值较大的时候要算很久,不停的打印。能否让他计算结束后输出花了多少计算时间?怎么改?

#include "stdio.h"
void hannota(int n,char ta1,char ta2,char ta3);
void main()
{
int n;
printf("input the number of diskes:");
scanf("%d",&n);
hannota(n,'1','2','3');
printf("\n");
}
void hannota(int n,char ta1,char ta2,char ta3)
{
if(n==1)
printf("%c--->%c",ta1 ,ta2);
else
{
hannota(n-1,ta1,ta3,ta2);
printf("%c---->%c",ta1,ta2);
hannota(n-1,ta3,ta2,ta1);
}
}

最佳答案
#include "stdio.h"
#include <time.h>

void hannota(int n,char ta1,char ta2,char ta3);
void main()
{
int n;
clock_t begin, duration;

printf("input the number of diskes:");
scanf("%d",&n);

begin = clock();
hannota(n,'1','2','3');
duration = clock() - begin;

printf( "用时约: %d毫秒", duration*1000 / CLOCKS_PER_SEC );
printf("\n");
}

void hannota(int n,char ta1,char ta2,char ta3)
{
if(n==1)
printf("%c--->%c",ta1 ,ta2);
else
{
hannota(n-1,ta1,ta3,ta2);
printf("%c---->%c",ta1,ta2);
hannota(n-1,ta3,ta2,ta1);
}
}
全部回答
给它几脚
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦见小学同学!!
台前县濮阳贵人鸟体育这个地址在什么地方,我
页码的跳转!
辽阳到山海关的火车卧铺多少钱?
周杰伦的新专辑什么时候出啊~~
高三百日冲刺家长寄语,高三学生家长如何写寄
TI-R402路由器如何设置
山东潍坊的申通快递停了?
地下城里召唤宝宝的攻击力和召唤的智力值挂钩
proe里怎样画这种实体?
淅川县南阳程记甫糊辣汤(淅川总店)在哪里啊,
怎样双鱼座才不会容易被感动
复姓上官是不是都是有家世的
泗水流,汴水流,流到瓜洲古渡头,河山点点愁
请问谁有古典的英伦风格的头像?
推荐资讯
如何可以快速的戒掉烟瘾,从此不来吸烟!
雁峰区华纳德圣地板(衡阳专卖店)怎么去啊,谁
深圳KTV在福田和南山这带,消费划算又环境比
有一首歌 开始是公鸡叫 后面是歌曲的 朋友说
再次失去的心 歌词
求男声唱的劲爆HIGH歌!?
厚毛衣用英语怎么说,毛衣的英文怎么读
他拿我当老婆,我拿他当大哥,我们现在是什么
寧武有多少人?
摔坏了皮缝了两针
翻译怎么说英语,有那种根据图片识别上面的英
国甲魔方转两下怎样比较快?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?