|
发表于 2017-8-20 20:15:46
|
显示全部楼层
本帖最后由 丶忘却的年少o 于 2017-8-20 20:17 编辑
- #include<stdio.h>
- void main()
- {
- int sqrt(int a);
- int x, y;
- printf("please input a num:"); //加个提示语句会觉得舒服点,哈哈
- scanf("%d", &x);
- y = sqrt(x);
- if(y == -1) //返回-1就是没有取到值
- {
- printf("error,input anthor number!\n");
- }
- else //否则就是取到了打印就好了
- {
- printf("%d是%d开方得出来的\n", y, x);
- }
- }
- int sqrt(int a)
- {
- int i, b;
- b = a / 2;
- for(i = 1; i <= b; i++)
- {
- if(i*i == a)
- {
- b = i;
- return b;
- }
- //return -1这一句不能放这里,判断一次要是i*i != a就返回那还要循环干嘛
- }
- return -1; //放循环外面,说明迭代到最大值都不满足退出循环并返回
- }
- //着重要说明一点,你的error和b是sqrt函数里的局部变量,不是全局变量,退出了sqrt就没了。而且你的error都没声明
复制代码 |
|