鱼C论坛

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

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

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

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


                               
登录/注册后可看大图

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

  5. bool is_zero(double n) {
  6.     if(fabs(n) < DBL_EPSILON) return true;
  7.     return false;
  8. }

  9. int main(void) {
  10.     printf("请输入一个数: ");
  11.     double n;
  12.     scanf("%lf", &n);
  13.     if(n < 0) {printf("负数没有平方根!\n"); return -1;}
  14.     if(is_zero(n)) {printf("结果是: %d\n", 0); return 0;}
  15.     double result = sqrt(n);
  16.     printf("结果是: %lf, %lf\n", -result, result);
  17.     return 0;
  18. }
复制代码

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  5. bool is_zero(double n) {
  6.     if(fabs(n) < DBL_EPSILON) return true;
  7.     return false;
  8. }

  9. int main(void) {
  10.     printf("请输入一个数: ");
  11.     double n;
  12.     scanf("%lf", &n);
  13.     if(n < 0) {printf("负数没有平方根!\n"); return -1;}
  14.     if(is_zero(n)) {printf("结果是: %d\n", 0); return 0;}
  15.     double result = sqrt(n);
  16.     printf("结果是: %lf, %lf\n", -result, result);
  17.     return 0;
  18. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  3. int main(void)
  4. {
  5.     float num, sqroot;
  6.     printf("please input a positive number: ");
  7.     while ( 1 == scanf("%f", &num) )
  8.     {
  9.         if ( 0 > num )
  10.         {
  11.             printf("input error, please re-enter a positive number: ");
  12.             fflush(stdin);

  13.         }
  14.         else
  15.         {
  16.             sqroot = sqrt(num);

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

  21.             break;
  22.         }
  23.     }

  24.     return 0;
  25. }
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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


printf("结果是: 根号%lf 负根号%lf",n, n);
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-8-30 21:15:26 | 显示全部楼层
  1. #include <stdio.h>
  2. bool is_zero(double n) {
  3.     if(fabs(n) < DBL_EPSILON) return true;
  4.     return false;
  5. }
  6. int main(void) {
  7.     printf("请输入一个数: ");
  8.     double n;
  9.     scanf("%lf", &n);
  10.     if(n < 0) {printf("负数没有平方根!\n"); return -1;}
  11.     if(is_zero(n)) {printf("结果是: %d\n", 0); return 0;}
  12.     double result = sqrt(n);
  13.     printf("结果是: 根号%lf 负根号%lf",n, n);
  14.     return 0;
  15. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-16 15:13:00 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5.         int a;
  6.         scanf("%d",&a);
  7.         /*简单法 : printf("%d",(int)sqrt(a)); */
  8.         /*二分答案法(只能求整数部分)*/
  9.         int l=1,r=a/2;
  10.         while (l+1!=r)
  11.         {
  12.                 int mid=(l+r)/2;
  13.                 if (mid*mid>a)
  14.                         r=mid;
  15.                 else l=mid;
  16.         }
  17.         printf("%d",l);
  18.     return 0;
  19. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-16 16:08:07 | 显示全部楼层
  1. import cmath

  2. num = int(input("请输入一个数字: "))
  3. num_sqrt = cmath.sqrt(num)
  4. print('{0} 的平方根为 {1:0.3f}+{2:0.3f}j'.format(num ,num_sqrt.real,num_sqrt.imag))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  3. int n;

  4. int main(){
  5.     ios::sync_with_stdio(0);
  6.     cin.tie(0); cout.tie(0);
  7.    
  8.     cin >> n;

  9.     if(n < 0){
  10.         cout << "负数只有虚数的解~" << endl;
  11.         return 0;
  12.     }
  13.    
  14.     cout << "结果是: " ;

  15.     if(!n) cout << 0 << endl;
  16.     else cout << sqrt(n) << "和" << -sqrt(n) << endl;
  17.    
  18.     return 0;
  19. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-17 14:50:16 | 显示全部楼层
啊哦,我是学Python的。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-17 20:58:02 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2022-8-20 12:46:30 | 显示全部楼层
a=input('a=')
print((float(a))**0.5)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-24 10:31:32 | 显示全部楼层
蒙啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-24 16:17:37 | 显示全部楼层
  1. num = float(input('请输入一个数字: '))
  2. num_sqrt = num ** 0.5
  3. print(' %0.3f 的平方根为 %0.3f'%
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 09:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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