wangka 发表于 2021-8-29 20:01:23

平方根 每周一练(4)(3星题目)

本帖最后由 wangka 于 2021-8-29 20:05 编辑

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

static/image/hrline/1.gif
最近每周一练改为一周一次(否则叫每周多练了{:10_334:} )

人造人 发表于 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;
}

Max472 发表于 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;
}

{:10_257:}

jhq999 发表于 2021-8-30 16:42:41

本帖最后由 jhq999 于 2021-8-30 16:45 编辑

人造人 发表于 2021-8-29 20:43


printf("结果是: 根号%lf 负根号%lf",n, n);{:5_109:}

lgh202020 发表于 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;
}

zhangjinxuan 发表于 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;
}

九歌当下 发表于 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))

柿子饼同学 发表于 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;
}

hveagle 发表于 2022-8-17 14:50:16

啊哦,我是学Python的。。。

aaron0919 发表于 2022-8-17 20:58:02

九歌当下 发表于 2022-8-16 16:08


来错地方了

ExiaGN001 发表于 2022-8-18 16:29:32

我提俩建议:
1:给个输入输出格式/样例比较好
2:不要考这种没有算法难度的题,可以整个高精度之类的再考

KeyError 发表于 2022-8-20 12:46:30

a=input('a=')
print((float(a))**0.5)

元豪 发表于 2022-8-24 10:31:32

蒙啊{:10_245:}{:10_245:}

漫星闪 发表于 2022-8-24 16:17:37

num = float(input('请输入一个数字: '))
num_sqrt = num ** 0.5
print(' %0.3f 的平方根为 %0.3f'%
页: [1]
查看完整版本: 平方根 每周一练(4)(3星题目)