现在的位置: 首页 > 综合 > 正文

迭代求平方根

2013年12月10日 ⁄ 综合 ⁄ 共 344字 ⁄ 字号 评论关闭
#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 的增大,已经不可能找到根了,所以此次查找失败,直接退出循环,等待用户的下一次输入

抱歉!评论已关闭.