鱼C论坛

 找回密码
 立即注册
查看: 1891|回复: 8

[已解决]小甲鱼老师上课讲的课后题 猜想下sqrt()函数的原理并尝试编程

[复制链接]
发表于 2017-8-20 17:14:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void main()
{
   int sqrt(int a);
   int x,y;
   scanf ("%d",&x);
    y = sqrt(x);
   if(y == b)
   {
          printf("%d是%d开方得出来的",y,x);
   }
    if(y == error)
   {
          printf("error,input anthor number");
   }
}
   
    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 error;
        }
        }
这是我编译的过程,在编译的时候发现两个错误。请教各位老试指出错误的地方,以及如何改正谢谢老师们
最佳答案
2017-8-20 18:35:31
2017-08-20_183337.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-20 18:35:31 | 显示全部楼层    本楼为最佳答案   
2017-08-20_183337.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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都没声明
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-20 21:11:53 | 显示全部楼层
其实都是些很小的问题,源自于你的不细心,我也初学者,但是问题一眼就看出了,上面两位答案基本到位,希望你采纳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-20 21:22:49 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-20 21:28:09 | 显示全部楼层

谢谢,我没看见二楼,下次一定给你点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-20 21:34:18 | 显示全部楼层
龍三少 发表于 2017-8-20 21:11
其实都是些很小的问题,源自于你的不细心,我也初学者,但是问题一眼就看出了,上面两位答案基本到位,希望 ...

恩恩
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-20 22:10:50 | 显示全部楼层
jellye 发表于 2017-8-20 21:28
谢谢,我没看见二楼,下次一定给你点

客气啦,只要你能理解题目就好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-23 23:19:29 | 显示全部楼层
嘿嘿
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-30 17:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表