谁帮我查查我这段c语言的错误在哪里,谢谢

#include "stdio.h"
#include "math.h"
float a;
float b;
float c;
void main()
{
void fangcheng(float x,float y,float z);
int i=1;
while(i=1)
{
printf("请输入格式为:a,b,c\n");
scanf("%f,%f,%f",&a,&b,&c);
printf("%f%f%f\n",a,b,c);
getchar();
fangcheng(a,b,c);
printf("是否要继续,yes or no \n");
char c;
scanf("%c",c);
getchar();
if (c=='y' ||' Y') c=1;
else i=0;
}
}
void fangcheng(float x,float y,float z)
{
float x1;
float x2;
float derlter=(b*b-4*a*c);
if(derlter>=0)
{
x1=(-b+sqrt(derlter))/2/a;
x2=(-b-sqrt(derlter))/2/a;
printf("x1=%f,x2=%f",x1,x2);

}
else
{
x1=(-b/2/a)+sqrt(-derlter)/2/a;
x2=(-b/2/a)-sqrt(-derlter)/2/a;
printf("x1=%fi,x2=%fi",x1,x2);

}
}

第1个回答  2010-10-15
while(i==1)//这里判断i是否为1应该用==,=是赋值
{
printf("请输入格式为:a,b,c\n");
scanf("%f,%f,%f",&a,&b,&c);
printf("%f%f%f\n",a,b,c);
getchar();
fangcheng(a,b,c);
printf("是否要继续,yes or no \n");
char c;
scanf("%c",c);
getchar();
if (c=='y' ||' Y') c=1;
else i=0;
}
第2个回答  2010-10-20
主函数中while循环用错了 应该是while(i==1) 因为i=1是个操作 并不能返回BOOL型值本回答被提问者采纳
第3个回答  2010-10-18
void fangcheng(float x,float y,float z);
放在{}外面
while(i=1)改为while(i==1)
scanf("%c",c);改成scanf("%c",&c);
if (c=='y' ||' Y') c=1;改成if (c=='y' || c=='Y') c=1;
第4个回答  2010-10-15
main函数中的fangcheng函数声明放外面,char c变量定义的位置错了,而且没什么意义。
fangcheng函数中印用了未定义的变量a,b,c
第5个回答  2010-10-15
while(i=1)
改成
while(i==1)

scanf("%c",c);
改成
scanf("%c",&c);

还有
if (c=='y' ||' Y') c=1;
改成
if (c=='y' || c=='Y') c=1;