c语言vc++6.0编程问题,急!!!
求方程ax2+bx+c=0的根,用三个函数分别求当b2-4ac大于0、等于0和小于0时的根,并输出结果。(a、b、c的值从主函数中由键盘输入获得。)#include<st...
求方程ax2+bx+c=0的根,用三个函数分别求当b2-4ac大于0、等于0和小于0时的根,并输出结果。(a、b、c的值从主函数中由键盘输入获得。)
#include<stdio.h>
#include<math.h>
int dt(float);
void main()
{
float a,b,c,d;
printf("输入a,b,c的值:\n");
scanf("%f,%f,%f“,&a,&b,&c);
d=b*b-4*a*c;
if(dt(d)==0)
printf("x1=%f,x2=%f\n",(b+sqrt(d))/2a,(-b-sqrt(d))/2a);
else
if(dt(d)==1)
printf("x=%f\n",-b/2a);
else
if(dt(d)==2)
printf("此方程无解!\n");
}
int dt(float m)
{
if(m>0)
return 0;
else
if(m=0)
return 1;
else
if(m<0)
return 2;
}
编译报错,
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(8) : error C2001: newline in constant
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(9) : error C2146: syntax error : missing ')' before identifier 'd'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(11) : error C2059: syntax error : 'bad suffix on number'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(11) : error C2146: syntax error : missing ')' before identifier 'a'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(11) : error C2059: syntax error : 'bad suffix on number'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(11) : error C2059: syntax error : ')'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(14) : error C2059: syntax error : 'bad suffix on number'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(14) : error C2146: syntax error : missing ')' before identifier 'a'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(14) : error C2059: syntax error : ')'
问题语句都是出在主函数体里pirntf那句中
求高手解释!多谢 展开
#include<stdio.h>
#include<math.h>
int dt(float);
void main()
{
float a,b,c,d;
printf("输入a,b,c的值:\n");
scanf("%f,%f,%f“,&a,&b,&c);
d=b*b-4*a*c;
if(dt(d)==0)
printf("x1=%f,x2=%f\n",(b+sqrt(d))/2a,(-b-sqrt(d))/2a);
else
if(dt(d)==1)
printf("x=%f\n",-b/2a);
else
if(dt(d)==2)
printf("此方程无解!\n");
}
int dt(float m)
{
if(m>0)
return 0;
else
if(m=0)
return 1;
else
if(m<0)
return 2;
}
编译报错,
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(8) : error C2001: newline in constant
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(9) : error C2146: syntax error : missing ')' before identifier 'd'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(11) : error C2059: syntax error : 'bad suffix on number'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(11) : error C2146: syntax error : missing ')' before identifier 'a'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(11) : error C2059: syntax error : 'bad suffix on number'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(11) : error C2059: syntax error : ')'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(14) : error C2059: syntax error : 'bad suffix on number'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(14) : error C2146: syntax error : missing ')' before identifier 'a'
d:\vc6.0\microsoft visual studio\myprojects\exp6 9\9.cpp(14) : error C2059: syntax error : ')'
问题语句都是出在主函数体里pirntf那句中
求高手解释!多谢 展开
6个回答
展开全部
第八行 scanf("%f,%f,%f“,&a,&b,&c); 错打了一个全角的“,应该改为半角的"
第十一行和十四行 2a两个字符应该改为 (2*a) 中间加乘号,两边加括号
第九行的报错可能是受第八行的错误影响的
if(m=0) 行浮点数无法这么精确判断是否等于0,可改为 if (fabs(m)<0.0001)
修改后的程序为
#include<stdio.h>
#include<math.h>
int dt(float);
void main()
{
float a,b,c,d;
printf("输入a,b,c的值:\n");
scanf("%f,%f,%f",&a,&b,&c);
d=b*b-4*a*c;
if(dt(d)==0)
printf("x1=%f,x2=%f\n",(b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
else
if(dt(d)==1)
printf("x=%f\n",-b/(2*a));
else
if(dt(d)==2)
printf("此方程无解!\n");
}
int dt(float m)
{
if(m>0)
return 0;
else
if (fabs(m)<0.0001)
return 1;
else
if(m<0)
return 2;
}
第十一行和十四行 2a两个字符应该改为 (2*a) 中间加乘号,两边加括号
第九行的报错可能是受第八行的错误影响的
if(m=0) 行浮点数无法这么精确判断是否等于0,可改为 if (fabs(m)<0.0001)
修改后的程序为
#include<stdio.h>
#include<math.h>
int dt(float);
void main()
{
float a,b,c,d;
printf("输入a,b,c的值:\n");
scanf("%f,%f,%f",&a,&b,&c);
d=b*b-4*a*c;
if(dt(d)==0)
printf("x1=%f,x2=%f\n",(b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
else
if(dt(d)==1)
printf("x=%f\n",-b/(2*a));
else
if(dt(d)==2)
printf("此方程无解!\n");
}
int dt(float m)
{
if(m>0)
return 0;
else
if (fabs(m)<0.0001)
return 1;
else
if(m<0)
return 2;
}
展开全部
#include<stdio.h>
#include<math.h>
int dt(float);
void main()
{
float a,b,c,d;
printf("输入a,b,c的值:\n");
scanf("%f,%f,%f",&a,&b,&c);
d=b*b-4*a*c;
if(dt(d)==0)
printf("x1=%f,x2=%f\n",(b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
else
if(dt(d)==1)
printf("x=%f\n",-b/(2*a));
else
if(dt(d)==2)
printf("此方程无解!\n");
}
int dt(float m)
{
if(m>0)
return 0;
else
if(m=0)
return 1;
else
if(m<0)
return 2;
}
#include<math.h>
int dt(float);
void main()
{
float a,b,c,d;
printf("输入a,b,c的值:\n");
scanf("%f,%f,%f",&a,&b,&c);
d=b*b-4*a*c;
if(dt(d)==0)
printf("x1=%f,x2=%f\n",(b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
else
if(dt(d)==1)
printf("x=%f\n",-b/(2*a));
else
if(dt(d)==2)
printf("此方程无解!\n");
}
int dt(float m)
{
if(m>0)
return 0;
else
if(m=0)
return 1;
else
if(m<0)
return 2;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2a要写成 2*a
另外你的dt函数里有点小问题,float型的判断=0不能这么写,要写成:
if(abs(m) < 0.0000001)
另外你的dt函数里有点小问题,float型的判断=0不能这么写,要写成:
if(abs(m) < 0.0000001)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
里面很多符号你打成中文标点了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般都是输入错误,比如输入了中文的)(粗括号),或少输入了)。仔细检查8,9行代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般遇到这样的问题 可以先看看提示行有没有少括号,或有中文字符的,有时你把上面的错误改掉 下面的错误就没了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询