鱼C论坛

 找回密码
 立即注册
查看: 5113|回复: 13

[已解决]平方根 每周一练(4)(3星题目)

[复制链接]
发表于 2021-8-29 20:01:23 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 wangka 于 2021-8-29 20:05 编辑

抱歉,前几天有点忙,今天补发
如题所言,题目介绍:输入一个数,输出它的平方根(不是算数平方根)
温情提示,去查查什么是平方根


                               
登录/注册后可看大图

最近每周一练改为一周一次(否则叫每周多练了
最佳答案
2021-8-29 20:01:24
#include <stdio.h>
#include <math.h>
#include <float.h>
#include <stdbool.h>

bool is_zero(double n) {
    if(fabs(n) < DBL_EPSILON) return true;
    return false;
}

int main(void) {
    printf("请输入一个数: ");
    double n;
    scanf("%lf", &n);
    if(n < 0) {printf("负数没有平方根!\n"); return -1;}
    if(is_zero(n)) {printf("结果是: %d\n", 0); return 0;}
    double result = sqrt(n);
    printf("结果是: %lf, %lf\n", -result, result);
    return 0;
}

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2021-8-29 20:01:24 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>
#include <math.h>
#include <float.h>
#include <stdbool.h>

bool is_zero(double n) {
    if(fabs(n) < DBL_EPSILON) return true;
    return false;
}

int main(void) {
    printf("请输入一个数: ");
    double n;
    scanf("%lf", &n);
    if(n < 0) {printf("负数没有平方根!\n"); return -1;}
    if(is_zero(n)) {printf("结果是: %d\n", 0); return 0;}
    double result = sqrt(n);
    printf("结果是: %lf, %lf\n", -result, result);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-30 13:37:41 | 显示全部楼层
本帖最后由 Max472 于 2021-8-30 14:59 编辑
#include <stdio.h>
#include <math.h>

int main(void)
{
    float num, sqroot;
    printf("please input a positive number: ");
    while ( 1 == scanf("%f", &num) )
    {
        if ( 0 > num )
        {
            printf("input error, please re-enter a positive number: ");
            fflush(stdin);

        }
        else
        {
            sqroot = sqrt(num);

            if ( !num )
                printf("the square root of %f is %f\n", num, sqroot);
            else
                printf("the square roots of %f are %f %f\n", num, sqroot, -sqroot);

            break;
        }
    }

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-30 16:42:41 | 显示全部楼层
本帖最后由 jhq999 于 2021-8-30 16:45 编辑


printf("结果是: 根号%lf 负根号%lf",n, n);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-30 21:15:26 | 显示全部楼层
#include <stdio.h>
bool is_zero(double n) {
    if(fabs(n) < DBL_EPSILON) return true;
    return false;
}
int main(void) {
    printf("请输入一个数: ");
    double n;
    scanf("%lf", &n);
    if(n < 0) {printf("负数没有平方根!\n"); return -1;}
    if(is_zero(n)) {printf("结果是: %d\n", 0); return 0;}
    double result = sqrt(n);
    printf("结果是: 根号%lf 负根号%lf",n, n);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-16 15:13:00 | 显示全部楼层
#include <stdio.h>
#include <math.h>
int main()
{
        int a;
        scanf("%d",&a);
        /*简单法 : printf("%d",(int)sqrt(a)); */
        /*二分答案法(只能求整数部分)*/
        int l=1,r=a/2;
        while (l+1!=r)
        {
                int mid=(l+r)/2;
                if (mid*mid>a)
                        r=mid;
                else l=mid;
        }
        printf("%d",l);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-16 16:08:07 | 显示全部楼层
import cmath
 
num = int(input("请输入一个数字: "))
num_sqrt = cmath.sqrt(num)
print('{0} 的平方根为 {1:0.3f}+{2:0.3f}j'.format(num ,num_sqrt.real,num_sqrt.imag))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-16 19:05:20 | 显示全部楼层
#include <bits/stdc++.h>
using namespace std;

int n;

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    
    cin >> n;

    if(n < 0){
        cout << "负数只有虚数的解~" << endl;
        return 0;
    }
    
    cout << "结果是: " ;

    if(!n) cout << 0 << endl;
    else cout << sqrt(n) << "和" << -sqrt(n) << endl;
    
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-17 14:50:16 | 显示全部楼层
啊哦,我是学Python的。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-17 20:58:02 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-18 16:29:32 | 显示全部楼层
我提俩建议:
1:给个输入输出格式/样例比较好
2:不要考这种没有算法难度的题,可以整个高精度之类的再考
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-20 12:46:30 | 显示全部楼层
a=input('a=')
print((float(a))**0.5)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-24 10:31:32 | 显示全部楼层
蒙啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-24 16:17:37 | 显示全部楼层
num = float(input('请输入一个数字: '))
num_sqrt = num ** 0.5
print(' %0.3f 的平方根为 %0.3f'%
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 23:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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