#include<stdio.h> #include<math.h> int main() { float a,b,c; double x1,x2,x,t=1.0,t1; scanf("%f%f%f",&a,&b,&c); while(fabs(t-t1)>1e-8) { t1=t; t=b*b-4*a*c; t=(t1+t/t1)/2; } if(t>0) { x1=(-b+t)/2*a; x2=(-b-t)/2*a; printf("%lf %lf\n",x1,x2); } if(t=0) { x1=(-b+t)/2*a; x2=(-b-t)/2*a; printf("x1=%lf x2=%lf\n",x1,x2); } if(t<0) { x1=(-b+t)/2*a; x2=(-b-t)/2*a; printf("x1=%lf x2=%lf\n",x1,x2); } return 0; } 我用迭代法求的平方根,但我t<0,x1和x2出不来
void greater(double r, double i) { printf("x1=%.3lf x2=%.3lf\n", r + i, r - i); } void equal(double r) { printf("x1=%.3lf x2=%.3lf\n", r, r); } void less(double r, double m, int a) { printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi\n", r, sqrt(-m) / (2.0 * a), r, sqrt(-m) / (2.0 * a)); } int main() { int a = 0; int b = 0; int c = 0; scanf("%d %d %d", &a, &b,&c); double m = b * b - 4.0 * a * c; double R = -b / (2.0 * a); double I = sqrt(m) / (2.0 * a); if (m > 0) { greater(R, I); } else if(m == 0) { equal(R); } else less
看完我的你就知道多定义几个变量的重要性了( #include<stdio.h> #include<math.h> int main() { int a,b,c; double d; scanf("%d%d%d",&a,&b,&c); if(b*b-4*a*c>0){ printf("x1=%.3lf x2=%.3lf",-1*b/2.0/a+sqrt(b*b-4*a*c)/2.0/a,-1*b/2.0/a-sqrt(b*b-4*a*c)/2.0/a); } else if(b*b-4*a*c==0){ printf("x1=%.3lf x2=%.3lf",-1*b/2.0/a,-1*b/2.0/a); } else { printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi",-1*b/2.0/a,sqrt(fabs(b*b-4*a*c))/2.0/a,-1*b/2.0/a,sqrt(fabs(b*b-4*a*c))/2.0/a); } }
Xtt 2022-11-07 15:25:54 |
您的三个函数在哪里呢?
张富棋 2022-11-08 20:21:31 |
看不懂
Wwxfff 2022-11-21 18:21:00 |
不合题意啊,没有那三个函数
2340850104史凯 2023-12-09 21:19:41 |
但是真的能通过啊!!!
void Cal(double num_1 ,double num_2 ,double num_3) { double x_1 = 0 ,x_2 = 0; double data = pow(num_2 ,2) - (4 * num_1 * num_3); /*B^2 - 4* A * C*/ if(data >= 0) { x_1 = ((-num_2) + sqrt(data)) / (2 * num_1); x_2 = ((-num_2) - sqrt(data)) / (2 * num_1); printf("x1=%.3lf x2=%.3lf" ,x_1 ,x_1); } else if(data < 0) /* 复数显示方式需要注意*/ { x_1 = sqrt(fabs(data)) / (2 * num_1); x_2 = sqrt(fabs(data)) / (2 * num_1); printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi",(-num_2) / (2 * num_1),x_1,(-num_2) / (2 * num_1),x_2); } }
#include<stdio.h> #include<math.h> float arr[2]; float* dayu(int a,int b,int c) { arr[0]=(float)(-b+sqrt(b*b-4*a*c))/(2*a); arr[1]=(float)(-b-sqrt(b*b-4*a*c))/(2*a); return arr; } float* dengyu(int a,int b,int c) { arr[1]=arr[0]=-b/(2*a); return arr; } float* xiaoyu(int a,int b,int c) { arr[0]=arr[1]=(float)-b/(2*a); return arr; } int main() { int a,b,c,d; scanf("%d%d%d",&a,&b,&c); d=b*b-4*a*c; if(d>0) { dayu(a,b,c); printf("x1=%f x2=%f",arr[0],arr[1]); } if(d==0) { dengyu(a,b,c); printf("x1=%f x2=%f",arr[0],arr[1]); } if(d<0) { xiaoyu(a,b,c); printf("x1=%.3f+%.3fi
【出圈】 (C++代码)(典型的约瑟夫环——链表解决)浏览:1203 |
C二级辅导-同因查找 (C语言代码)浏览:660 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:564 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:677 |
最长单词 (C语言代码)浏览:1362 |
printf基础练习2 (C语言代码)浏览:941 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1814 |
成绩转换 (C语言代码)浏览:1005 |
淘淘的名单 (C语言代码)答案错误???浏览:593 |
母牛的故事 (C语言代码)浏览:915 |