为什么vs2010运行c语言程序时刚在运行窗口输入数据,没有出结果,就突然退出了运行窗口

源程序为#include<math.h>#include<stdio.h>intmain(void){inta;intb;intc;doublex1;doublex2;d... 源程序为

#include <math.h>
#include <stdio.h>
int main(void)
{
int a;
int b;
int c;
double x1;
double x2;
double delta;
printf ("请输入一元二次函数a*x*x+b*x+c=0的三个正整系数a,b,c:\n");
scanf_s ("%d%d%d",&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 ("该一元二次方程有两解:x1=%f,x2=%f",x1,x2);
}
else
{ if ( delta = 0 )
{
x1 = (-b) / (2*a);
x2 = x1;
printf ("该一元二次方程有唯一相同的解:x1=x2=%f",x1);
}
else
{
printf ("该一元二次方程无解:");
}
}
getchar();
return 0;
}
能弹出运行窗口,但是等输完三个数后就马上关闭了,没有出任何结果
展开
 我来答
jimmy14888888
推荐于2017-12-16 · TA获得超过1340个赞
知道小有建树答主
回答量:550
采纳率:80%
帮助的人:353万
展开全部

将最后getchar换成system("pause")并且include <stdlib.h>

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a;
int b;
int c;
double x1;
double x2;
double  delta;
printf("请输入一元二次函数a*x*x+b*x+c=0的三个正整系数a,b,c:\n");
scanf_s("%d%d%d", &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("该一元二次方程有两解:x1=%f,x2=%f", x1, x2);
}
else
{
if (delta = 0)
{
x1 = (-b) / (2 * a);
x2 = x1;
printf("该一元二次方程有唯一相同的解:x1=x2=%f", x1);
}
else
{
printf("该一元二次方程无解:");
}
}
system("pause");
return 0;
}
更多追问追答
追问
为题已解决,谢谢,就是为什么getchar()不行啊?
追答
行末有个回车,被getchar读到了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式