
已解决问题
谷歌恛忆丶用户在2014.12.08提交了关于“魔女之泉3C 语言,求一元二次方程!!!!”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-03-01T20:16:31。#include<stdio.h>
#include<math.h>
intmain(void)
{
do
{
doublea,b,c;
doubledelta;
doublex1,x2;
charch;
printf("请输入一元二次方程的三个系数:\n");
printf("a=");
scanf("%lf",&a);
printf("b=");
scanf("%lf",&b);
printf("c=");
scanf("%lf",&c);
delta=b*b-4*a*c;
if(delta>0)
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("有两个解,x1=%lf,x2=%lf\n",x1,x2);
}
elseif(0==delta)
{
x1=x2=(-b)/(2*a);
printf("有唯一解,x1=x2=&lf\n",x1,x2);
}
else
{
printf("无实数解!\n");
}
printf("你想继续吗(Y/N):");
scanf("%c",&ch);
}while('y'=='ch'||'Y'=='ch');
return0;
}
这编程应该没错吧..为什么按Y不循环??搞不懂,那位C高手求解!!!
希望大家能够帮助她。详细问题描述及疑问:
#include<stdio.h>
#include<math.h>
intmain(void)
{
do
{
doublea,b,c;
doubledelta;
doublex1,x2;
charch;
printf("请输入一元二次方程的三个系数:\n");
printf("a=");
scanf("%lf",&a);
printf("b=");
scanf("%lf",&b);
printf("c=");
scanf("%lf",&c);
delta=b*b-4*a*c;
if(delta>0)
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("有两个解,x1=%lf,x2=%lf\n",x1,x2);
}
elseif(0==delta)
{
x1=x2=(-b)/(2*a);
printf("有唯一解,x1=x2=&lf\n",x1,x2);
}
else
{
printf("无实数解!\n");
}
printf("你想继续吗(Y/N):");
scanf("%c",&ch);
}while('y'=='ch'||'Y'=='ch');
return0;
}
这编程应该没错吧..为什么按Y不循环??搞不懂,那位C高手求解!!!
期待您的答案,当代劳模,所有人都应该向你学习 !