比如写一个求解一元二次方程的代码,怎么可以实现多次输入,避免任意健退出
代码如下 请问怎么改可以实现多次输入 新手求解
#include<stdio.h>
#include<math.h>
int main(void)
{
int a,b,c;
printf("ÇëÊäÈëa£¬b£¬cÈý¸öµÄÖµÖмäÒÔ¿Õ¸ñ¸ô¿ª:",a,b,c);
scanf("%d %d %d",&a,&b,&c);
double delta;
double x1;
double x2;
double x;
delta=b*b - 4*a*c;
if(a != 0)
{
if(delta > 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("¸Ã·½³ÌÓÐÁ½¸ö²»Í¬µÄ½âx1=%f,x2=%f\n",x1,x2);
}
else if(delta == 0)
{
x2=x1=(-b) / (2*a);
printf("¸Ã·½³ÌÓÐΨһ½âx2=x1=%f\n",x1);
}
else
{
printf("¸Ã·½³ÌÎÞʵÊý½â");
}
}
else if(b != 0 && a == 0)
{
x=(-c)/b;
printf("x=%f\n",x);
}
else
{
printf("µÈʽ²»³ÉÁ¢");
}
return 0;
}
#include<math.h>
int main(void)
{
int a,b,c;
char ch;
while(1)//把程序放入while循环里
{
printf("输入二次方程系数a,b,c:\n");
scanf("%d %d %d",&a,&b,&c);
double delta;
double x1;
double x2;
double x;
delta=b*b - 4*a*c;
if(a != 0)
{
if(delta > 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("x1=%f,x2=%f\n",x1,x2);
}
else if(delta == 0)
{
x2=x1=(-b) / (2*a);
printf("x2=x1=%f\n",x1);
}
else
{
printf("二次方程无解\n");
}
}
else if(b != 0 && a == 0)
{
x=(-c)/b;
printf("x=%f\n",x);
}
else
{
printf("方程无解\n");
}
fflush(stdin);//清空缓存区
printf("是否继续y/n? ");
ch=getchar();//输入字符来控制是否继续
if(ch!='Y'&&ch!='y')//输入非Y,结束程序
break;
}
return 0;
}
1、首先我们打开电脑里的C语言软件,进入主界面后,点击左上角的空白页选项,新建一个空白的工程,用来实现的输入。
2、新页新建完成后,在前几行打入c语言的基本框架,框架打好后即可调用输入函数。
3、这里的输入函数以scanf为例,首先定义一个整型变量,随机命名这里以a为例。
4、变量定义完成后,在调用scanf函数,使用赋值语句将scanf函数所得到的值给a。
5、语句完成后,点击最上方的运行按钮即可运行这个程序了。
本回答被网友采纳1.引入头文件#include "stdafx.h"和#include "stdio.h"。
2.创建主函数void main(){},在主函数中添加如下代码:
int number = 0;
while (true)
{
printf("请输入数字:");
scanf("%d",&number);
}
3.点击红叹号测试。
程序清单:
// 测试.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
void main()
{
int number = 0;
while (true)
{
printf("请输入数字:");
scanf("%d",&number);
}
}
#include<math.h>
int main(void)
{
int a,b,c;
while(1)
{ printf("ÇëÊäÈëa£¬b£¬cÈý¸öµÄÖµÖмäÒÔ¿Õ¸ñ¸ô¿ª:",a,b,c);
scanf("%d %d %d",&a,&b,&c);
double delta;
double x1;
double x2;
double x;
delta=b*b - 4*a*c;
if(a != 0)
{
if(delta > 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("¸Ã·½³ÌÓÐÁ½¸ö²»Í¬µÄ½âx1=%f,x2=%f\n",x1,x2);
}
else if(delta == 0)
{
x2=x1=(-b) / (2*a);
printf("¸Ã·½³ÌÓÐΨһ½âx2=x1=%f\n",x1);
}
else
{
printf("¸Ã·½³ÌÎÞʵÊý½â");
}
}
else if(b != 0 && a == 0)
{
x=(-c)/b;
printf("x=%f\n",x);
}
else
{
printf("µÈʽ²»³ÉÁ¢");
}
return 0;
}
}