4.编写C语言程序求ax 2 +bx+c=0方程的根,其中a,b,c从键盘输入。
时间: 2023-05-31 18:01:31 浏览: 173
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, x1, x2, delta;
printf("请输入a,b,c的值:");
scanf("%f %f %f", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程的两个实根分别为:%f和%f\n", x1, x2);
}
else if (delta == 0)
{
x1 = -b / (2 * a);
printf("方程的唯一实根为:%f\n", x1);
}
else
{
printf("方程没有实根\n");
}
return 0;
}
```
相关问题
运用C语言解决求ax2+bx+c=0的根,a,b,c由键盘输入。
您可以使用以下代码来解决ax2 bx c=0的根,其中a,b,c是由键盘输入的:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, determinant, root1, root2, realPart, imaginaryPart;
printf("请输入a,b,c的值:");
scanf("%f %f %f", &a, &b, &c);
determinant = b*b - 4*a*c;
// 实数根
if (determinant > 0)
{
root1 = (-b + sqrt(determinant)) / (2*a);
root2 = (-b - sqrt(determinant)) / (2*a);
printf("实数根为:%.2f 和 %.2f\n", root1, root2);
}
// 复数根
else if (determinant < 0)
{
realPart = -b/(2*a);
imaginaryPart = sqrt(-determinant)/(2*a);
printf("复数根为:%.2f+%.2fi 和 %.2f-%.2fi\n", realPart, imaginaryPart, realPart, imaginaryPart);
}
// 重根
else
{
root1 = root2 = -b/(2*a);
printf("实数根为:%.2f 和 %.2f\n", root1, root2);
}
return 0;
}
```
注意,此代码不能处理二次方程没有实根的情况。
电文加密的算法是:将字母A变成字母G,a变成g,B变成H,b变成h,依此类推,并且U变诚A,V变成B,等等。用c语言编写程序,从键盘输入一个电文字符,输出其相应的密码。 4.编写程序求ax+bx+c=0方程的根,其中a,b,c从键盘输入。
好的,我可以回答这两个问题。
第一个问题,可以使用C语言的switch语句来实现电文加密的算法,代码如下:
```c
#include <stdio.h>
int main() {
char ch;
printf("请输入一个电文字符:");
scanf("%c", &ch);
switch (ch) {
case 'A': printf("G"); break;
case 'B': printf("H"); break;
case 'C': printf("I"); break;
case 'D': printf("J"); break;
case 'E': printf("K"); break;
case 'F': printf("L"); break;
case 'G': printf("M"); break;
case 'H': printf("N"); break;
case 'I': printf("O"); break;
case 'J': printf("P"); break;
case 'K': printf("Q"); break;
case 'L': printf("R"); break;
case 'M': printf("S"); break;
case 'N': printf("T"); break;
case 'O': printf("U"); break;
case 'P': printf("V"); break;
case 'Q': printf("W"); break;
case 'R': printf("X"); break;
case 'S': printf("Y"); break;
case 'T': printf("Z"); break;
case 'U': printf("A"); break;
case 'V': printf("B"); break;
case 'W': printf("C"); break;
case 'X': printf("D"); break;
case 'Y': printf("E"); break;
case 'Z': printf("F"); break;
case 'a': printf("g"); break;
case 'b': printf("h"); break;
case 'c': printf("i"); break;
case 'd': printf("j"); break;
case 'e': printf("k"); break;
case 'f': printf("l"); break;
case 'g': printf("m"); break;
case 'h': printf("n"); break;
case 'i': printf("o"); break;
case 'j': printf("p"); break;
case 'k': printf("q"); break;
case 'l': printf("r"); break;
case 'm': printf("s"); break;
case 'n': printf("t"); break;
case 'o': printf("u"); break;
case 'p': printf("v"); break;
case 'q': printf("w"); break;
case 'r': printf("x"); break;
case 's': printf("y"); break;
case 't': printf("z"); break;
case 'u': printf("a"); break;
case 'v': printf("b"); break;
case 'w': printf("c"); break;
case 'x': printf("d"); break;
case 'y': printf("e"); break;
case 'z': printf("f"); break;
default: printf("输入错误!"); break;
}
return 0;
}
```
第二个问题,可以使用求根公式来解决,代码如下:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, delta, x1, x2;
printf("请输入a、b、c的值:");
scanf("%lf%lf%lf", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta > 0) {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程的两个根分别为:%.2f和%.2f", x1, x2);
} else if (delta == 0) {
x1 = -b / (2 * a);
printf("方程的唯一根为:%.2f", x1);
} else {
printf("方程无实根!");
}
return 0;
}
```
阅读全文
相关推荐
















