因为a、b、x都是float类型,所有的scanf、printf里面都应该使用%f,不能使用%d,而且%和f之间不得有空格,而且scanf里面不要有其他字符,该语句应该为:
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了阳泉免费建站欢迎大家使用!
scanf("%f%f",a,b);
把这些修改了就基本上没有问题了,如果还有问题请补充,记住粘贴你修改后的程序和系统的提示,谢谢。
我这个程序只能接受ax+b=c这种形式的方程.
其中,a=1时可以省略,+b也可以省略.a,b,c不能为表达式,必须为确定的浮点数.
a不能为0
#include "stdio.h"
#include "stdlib.h"
void main()
{
float a,b,c;
int i,j;
char str[81];
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]=='x' || str[i]=='X')
break;
if(str[i]=='\0') printf("error!\n");
if(i==0) a=1;
else a=atof(str);
if(a==0)
{
printf("a mustn't be zero!\n");
exit(1);
}
if(str[++i]=='=')
{
b=0;
c=atof(str+i+1);
}
else
{
if(str[i]=='+') i++;
for(j=i;str[j]!='\0';j++)
if(str[j]=='=') break;
b=atof(str+i);
c=atof(str+j+1);
}
printf("x=%f\n",(c-b)/a);
}
#include iostream
int main()
{
int a = 0,b = 0;
printf("请输入一次方程的系数a和b(以逗号隔开):");
scanf("%d,%d",a,b);
double c = (double)-b / a;
printf("一次方程 %dx+%d=0 的根是:x = %lf\n",a,b,c);
system("pause");
return 0;
用c语言怎么解一元一次方程:比如输入,3a+21=4a+1,输出:a=20。
#include
#include
#include
void
main()
{
\x09char
s[20],*p,b[10],ch;
\x09int
i=0,f=0,f1=1;
\x09int
x=0,c=0;
\x09int
u=0;
\x09gets(s);
\x09p=s;
while(*++p!='\0');
\x09*p='
';
*(p+1)='\0';
\x09p=s;
\x09while(*p!='\0')
\x09{\x09
\x09\x09if(*p='0'*p='a'*p