/*---------------------------------------------------------------------- 【程序设计】 ------------------------------------------------------------------------ 要求编写一个程序来计算给定整数的平方根的整数部分,功能类似于 C 语言标准 库中的 sqrt 函数,但仅返回整数部分结果。 示例1: 【请输入一个非负整数: 】12 【12 的平方根的整数部分是: 】3 ------------------------------------------------------------------------ ----------------------------------------------------------------------*/ #include 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; }