47 lines
1.1 KiB
C
47 lines
1.1 KiB
C
/*----------------------------------------------------------------------
|
||
【程序设计】
|
||
------------------------------------------------------------------------
|
||
要求编写一个程序来计算给定整数的平方根的整数部分,功能类似于 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;
|
||
}
|