/*----------------------------------------------------------------------
【程序设计】
------------------------------------------------------------------------
要求编写一个程序来计算给定整数的平方根的整数部分,功能类似于 C 语言标准
库中的 sqrt 函数,但仅返回整数部分结果。
示例1:
【请输入一个非负整数: 】12
【12 的平方根的整数部分是: 】3
------------------------------------------------------------------------
----------------------------------------------------------------------*/
#include <stdio.h>
int mySqrt(int x)
{
    /**********Program**********/
    int i;
	for(i=1;;i++){
		if(i*i==x){
			return i;
		}
		if(i*i>x){
			return i-1;
		}
	}
    /********** End **********/
}
int main()
{
    int num;
    while (1)
    {
        printf("【请输入一个非负整数: 】");
        if (scanf("%d", &num) != 1 || num < 0)
        {
            while (getchar() != '\n')
                ;
            printf("输入无效,请输入一个非负整数。\n");
        }
        else
        {
            break;
        }
    }
    int sqrtResult = mySqrt(num);
    printf("【%d 的平方根的整数部分是: 】%d\n", num, sqrtResult);
    return 0;
}