目标:
1.学习C语言调试方法
2.复习C语言基本语法、函数、选择和重复控制语句;
任务1:参考《C语言调试方法》掌握代码的调试和排错技巧.把调试过程出现的问题,写到报告中。
说明:学习编程,必须学会代码的调试和排错,否则寸步难行!
要求:理解调试的目的和调试的技巧,不能盲目和依赖调试.
------------------------------------任务分割线------------------------------------
任务2:自行分析和设计一个程序,并在程序中标注每一行代码的含义和目的;;
要求:程序必须涉及到数学函数、自定义函数、选择和重复控制语句.并利用上面的调试方法进行程序排错;
我的程序:
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,s,x1,x2;
for(int i=1;i<=10;i++)
{
printf("请输入第%d组系数 a b c: ",i);
scanf("%f %f %f",&a,&b,&c);
if(a==0)
{
printf("忽悠在下?此非一元二次方程!\n");
return;
}
printf("得到的方程是:%fx^2+%fx+%f=0\n",a,b,c);
s = b*b-4*a*c;
if(s==0)
{
x1 = -b/2/a;
printf("求出两个相同实数根: x1 = x2 = %.2f\n",x1);
}
else if(s>0)
{
s = sqrt(s);
x1 = (-b+s)/2/a;
x2 = (-b-s)/2/a;
printf("求出两个不同实数根: x1 = %.2f, x2 =%.2f\n",x1,x2);
}
else
{
s = sqrt(-s);
x1 = -b/2/a;
x2 = s/2/a;
printf("求出一对复数根: x1 = %.2f+%.2fi\n",x1,x2);
printf(" x2 = %.2f-%.2fi\n",x1,x2);
}
printf("------------------分割线------------------\n");
}
}
程序运行效果图: