C语言:X的平方根

任意给一个非负整数,计算并返回X的算术平方根

值保留整数部分,小数部分将舍去

解题思路:

        从1开始一个一个的找,直到找到第一个相乘的结果大于这个非负整数

        那么这个前一个数就是它平方根的整数部分

解题依据:

        int i=17;

        1 x 1 = 1  <17

        2 x 2 = 4  <17

        3 x 3 = 9  <17

        4 x 4 = 16 <17

        5 x 5 = 25 >17

此时有一个数大于17,那么这个的前一个数就是它平方根的整数部分

也就是 4 是 17 的平方根的整数部分

再来看一个例子:

        int i=16;

        1 x 1 = 1  <16

        2 x 2 = 4  <16

        3 x 3 = 9  <16

        4 x 4 = 16   ==16

        5 x 5 = 25 >16 

请注意:此时4的相乘结果等同与16,但是我们需要寻找的数是大于16的数

此时有一个数大于16,那么这个的前一个数就是它平方根的整数部分

也就是 4 是 16 的平方根的整数部分

代码如下:

int main(){
	//1.定义一个数
	int number = 17;
	//2.从1开始找平方根的整数部分
	int i = 1;
	//3.利用while循环
	while (i * i < number) {
		i++;
	}
	//4.循环结束,表示已经找到 i的前一个,-1就行
	printf("number的平方根是:%d\n", i - 1);
}

效果图如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值