早教吧 育儿知识 作业答案 考试题库 百科 知识分享

照着抄的小程序都出错,高手来帮我看看!刚接触一天,学完了.照着抄的程序我都出错,谁帮我看看是那里的问题!#include#includeintmain(void){//把三个系数保存到计算机中inta=1;//=不表示相等,表

题目详情
照着抄的小程序都出错,高手来帮我看看!
刚接触一天,学完了.照着抄的程序我都出错,谁帮我看看是那里的问题!
# include
# include
int main(void)
{
//把三个系数保存到计算机中
int a = 1; //=不表示相等,表示赋值
\x05int b = 2;
\x05int c = 3;
\x05double delta; //delta存放的是 b*b - 4*a*c
\x05double x1; //存放一元二次方程的其中一个解
\x05double x2; //存放一元二次方程的其中一个解
delta = b*b - 4*a*c
\x05if (delta > 0)
\x05{
\x05\x05x1 = (-b + sqrt(delta)) / (2*a);
\x05\x05x2 = (-b - sqrt(delta)) / (2*a);
\x05\x05printf("该一元二次方程有两个解,x1 = %f,x2 = %f\n,"x1,x2);
\x05}
\x05else if (delta == 0)
\x05{
\x05\x05x1 = (-b) / (2*a);
\x05\x05x2 = x1; //左边赋给左边
\x05\x05printf("该一元二次方程有一个唯一解,x1 = x2 = %f\n",x1);
\x05}
\x05else
\x05{
\x05\x05printf("无解\n");
\x05}
\x05return 0;
}
出错的提示:
--------------------Configuration:一元二次方程 - Win32 Debug--------------------
Compiling...
一元二次方程.cpp
C:\Users\Administrator\Desktop\新建文件夹 (2)\一元二次方程.cpp(15) :error C2143:syntax error :missing ';' before 'if'
C:\Users\Administrator\Desktop\新建文件夹 (2)\一元二次方程.cpp(19) :error C2146:syntax error :missing ')' before identifier 'x1'
C:\Users\Administrator\Desktop\新建文件夹 (2)\一元二次方程.cpp(19) :error C2059:syntax error :')'
C:\Users\Administrator\Desktop\新建文件夹 (2)\一元二次方程.cpp(21) :error C2018:unknown character '0xa3'
C:\Users\Administrator\Desktop\新建文件夹 (2)\一元二次方程.cpp(21) :error C2018:unknown character '0xa8'
C:\Users\Administrator\Desktop\新建文件夹 (2)\一元二次方程.cpp(21) :error C2061:syntax error :identifier 'delta'
C:\Users\Administrator\Desktop\新建文件夹 (2)\一元二次方程.cpp(21) :error C2018:unknown character '0xa3'
C:\Users\Administrator\Desktop\新建文件夹 (2)\一元二次方程.cpp(21) :error C2018:unknown character '0xa9'
C:\Users\Administrator\Desktop\新建文件夹 (2)\一元二次方程.cpp(22) :error C2143:syntax error :missing ';' before '{'
C:\Users\Administrator\Desktop\新建文件夹 (2)\一元二次方程.cpp(27) :error C2181:illegal else without matching if
执行 cl.exe 时出错.
一元二次方程.obj - 1 error(s),0 warning(s)
▼优质解答
答案和解析
总共三个错:
1,delta = b*b - 4*a*c后面少了";"
2,printf("该一元二次方程有两个解,x1 = %f,x2 = %f\n,"x1,x2);
x1前面的逗号应该在分号后面
3,else if (delta == 0)你用的是中文输入法的括号
下面是正确的代码
# include
# include
int main(void)
{
//把三个系数保存到计算机中
int a = 1; //=不表示相等,表示赋值
\x05int b = 2;
\x05int c = 3;
\x05double delta; //delta存放的是 b*b - 4*a*c
\x05double x1; //存放一元二次方程的其中一个解
\x05double x2; //存放一元二次方程的其中一个解
delta = b*b - 4*a*c;
\x05if (delta > 0)
\x05{
\x05\x05x1 = (-b + sqrt(delta)) / (2*a);
\x05\x05x2 = (-b - sqrt(delta)) / (2*a);
\x05\x05printf("该一元二次方程有两个解,x1 = %f,x2 = %f\n",x1,x2);
\x05}
\x05else if (delta == 0)
\x05{
\x05\x05x1 = (-b) / (2*a);
\x05\x05x2 = x1; //左边赋给左边
\x05\x05printf("该一元二次方程有一个唯一解,x1 = x2 = %f\n",x1);
\x05}
\x05else
\x05{
\x05\x05printf("无解\n");
\x05}
\x05return 0;
}
看了 照着抄的小程序都出错,高手来...的网友还看了以下: