实验六  分支结构程序设计
一、 目的和要求
1. 熟悉关系表达式和逻辑表达式的使用
2. 了解断点调试程序的方法。
二、 实验内容
1. 断点调试
1) 分析本程序段,请用不同颜标记出存在错误或不妥的地方。
2) 修改本程序段,使之成为正确的程序。
3) 在上机过程中熟悉断点调试。
/* 求一元二次方程根的程序 */
#include <stdio.h>
#include <math.h>
int main(void)
{
double a, b, c,d;
printf("Enter a, b, c \n");
scanf("%lf%lf%lf", &a, &b, &c);
d = b * b - 4 * a * c;
if(a==0)
{
  if(b=0)
  {
    if(c==0)
      printf( " 参数都为零,方程无意义 !\n " );
    else
      printf( " a b 0 c 0 ,方程不成立 \n " );
  }
  else
    printf( " x = %0.2f\n " , - b/(2*a) );   
}
关于printf函数正确的是else
  if (d==0)
      printf( " x = %0.2f\n " , - b/(2*a) );
  else
     
    if(d > 0)
    {
        printf( " x1=%0.2f\n " , (-b + sqrt(d))/2*a);
        printf( " x2=%0.2f\n " , (-b-sqrt(d))/2*a);
    }
    else
    {
    printf( " x1=%0.2f+%0.2fi\n " , -b/(2*a), sqrt(-d)/(2*a));
    printf( " x2=%0.2f-%0.2fi\n " , -b/(2*a), sqrt(-d)/(2*a));
    }
return 0;
}
2. 程序填空。
计算分段函数。
输入 x ,计算并输出 y 的值。公式如下:
提示:可以使用数学函数: sqrt )求平方根, pow  )求幂。
请勿改动主函数main 的任何内容,仅在main 函数的对应序号位置上填入所编写的若干表达
式或语句,并上机调试。
#include <stdio.h>
#include 1
int main(void)
{
double x, y;
printf("Enter x: ");
scanf("% l f", & x);
if(x >= 0)
y = 2 ;
else
y = 3 ;
printf(" x=%lf,y = % l f\n", x, y);
return 0;
}
3. 编程。
1) 某单位马上要加工资,增加金额取决于工龄和现工资两个因素:对于工龄大于等于20年的,如果现工资高于2000,加200元,否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。工龄和现工资从键盘输入,编程求加工资后的员工工资。运行程序并填写下表。
输入的测试数据如下:
工龄y(年)
现工资S0(元)
调整后工资S(元)-人工计算结果
25
2200
22
1900
18
1700
16
1400
要求:要求本题用if 语句实现。