7-93 解一元一次方程 分数 10
作者 李军 单位 陕西理工大学
请编写程序,解一元一次方程,ax+b=0。 一元一次方程求解公式为::x=−
a
b
求解要求:
输入格式:
在一行输入两个实数,两数之间用空格间隔。
输出格式:
输出一个实数,保留3位小数.
输入样例:
3.0 -2.0
输出样例:
0.667
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
Answer:
#include <stdio.h>
int main(){
double a,b,x=0;//a为x 的系数,b为常数
scanf("%lf %lf",&a,&b);//输入a,b
if((a == 0 && b == 0)||(a < 0.0000001 && b < 0.0000001))
//a=0,b=0, 则方程有无穷多解,任何变量的绝对值只要小于10的−7次方
{
printf("Infinitely solutions");
//输出Infinitely solutions
}else if(a==0||a<0.0000001)
//a=0,b != 0,方程无解,任何变量的绝对值只要小于10的-7次方
{
printf("no solution");
//输出no solution
}else {
x=-(b/a);
//一元一次方程求解公式为:x=-(b/a);
if(x<0.0000001)
//任何变量的绝对值只要小于10的-7次方。
{
printf("0");
//该变量的值为0
}else{
printf("%0.3lf",x);
//否则为非0值
}
}
return 0;
}
解题思路
解一元一次方程的步骤:
step 1:输入x 的系数a,常数b(注意两数之间用空格间隔,任何变量的绝对值只要小于10的-7次方);
step 2:若a=0,b=0, 则方程有无穷多解,输出Infinitely solutions;
step 3:若a=0,b != 0,输出no solution;
step 4:一元一次方程求解公式为:x=-(b/a),任何变量的绝对值只要小于10−7,则该变量的值为0,否则输出非0值(注意保留3位小数)。
归属知识点
选择结构