平方根 每周一练(4)(3星题目)
本帖最后由 wangka 于 2021-8-29 20:05 编辑抱歉,前几天有点忙,今天补发
如题所言,题目介绍:输入一个数,输出它的平方根(不是算数平方根)
温情提示,去查查什么是平方根
static/image/hrline/1.gif
最近每周一练改为一周一次(否则叫每周多练了{:10_334:} )
#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 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:45 编辑
人造人 发表于 2021-8-29 20:43
printf("结果是: 根号%lf 负根号%lf",n, n);{:5_109:} #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;
} #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;
} 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)) #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;
}
啊哦,我是学Python的。。。 九歌当下 发表于 2022-8-16 16:08
来错地方了 我提俩建议:
1:给个输入输出格式/样例比较好
2:不要考这种没有算法难度的题,可以整个高精度之类的再考 a=input('a=')
print((float(a))**0.5) 蒙啊{:10_245:}{:10_245:} num = float(input('请输入一个数字: '))
num_sqrt = num ** 0.5
print(' %0.3f 的平方根为 %0.3f'%
页:
[1]