c语言使用if语句编程实现二次方程的求解和字母转换。从键盘输入三个实数a、b、c(采用scanf函数输入),完成二次方程ax×x+bx+c=0根的求解。要求输入不同的a、b、c的值,上机调试完成运算结果的验证。提示:须考虑有a==0(输出不构成一元二次方程!)和a!=0、以及有实根和无实根情况。
时间: 2023-05-29 12:02:43 浏览: 105
c语言求解一元二次方程问题
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c; // 三个实数
float delta; // 方程的判别式
float x1, x2; // 方程的两个实根
// 输入三个实数
printf("请输入a, b, c:\n");
scanf("%f%f%f", &a, &b, &c);
// 判断a是否为0
if (a == 0)
{
printf("不构成一元二次方程!\n");
return 0;
}
// 计算判别式
delta = b * b - 4 * a * c;
if (delta < 0) // 无实根
{
printf("无实根!\n");
}
else if (delta == 0) // 唯一实根
{
x1 = -b / (2 * a);
printf("唯一实根:%f\n", x1);
}
else // 两个实根
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("两个实根:%f, %f\n", x1, x2);
}
// 大写字母转换为小写字母
char ch;
printf("请输入一个大写字母:\n");
scanf(" %c", &ch); // 注意空格的处理
if (ch >= 'A' && ch <= 'Z')
{
ch = ch + ('a' - 'A'); // 转换为小写字母
}
printf("转换后的字母为:%c\n", ch);
return 0;
}
```
阅读全文