迭代求平方根

#include<stdio.h>

main()
{
    //input 
    int num ;
    while( 1 )
    {
	scanf("%d", &num );
	int i = 1;
	int temp = 0;
	for ( ; i<= num ; i++ )//point 1
	{
	    temp = i*i ;
	    if ( temp == num )
	    {
		printf("%d*%d=%d\n", i, i, num );
		break ;
	    }else if ( temp > num )//point 2
	    {
		printf ("No\n");
		break;
	    }
	}
    }
}

遇到的点:

point 1: 此处为 <= 因为 1*1=1

point 2: 没有考虑 i*i < num 的情况,因为如果小于,说明还有找到的可能,继续循环就可以了。此处当 i*i > num 时,说明随着 i 的增大,已经不可能找到根了,所以此次查找失败,直接退出循环,等待用户的下一次输入

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值