吉林大学程序设计基础教材第三章—分支程序设计.ppt
文本预览下载声明
第三章 分支程序设计 ;3.1 判断成绩是否及格—双分支程序设计;#include stdio.h
#define pass_mark 60
void main(void){
int mark;
printf(“please input your mark:”);
scanf(“%d”,mark);
if ( mark = pass_mark )
printf(“you are success!\n”);
else
printf(“you are fail!\n”);
};B;图3.4 判断成绩是否及格的PAD表示;双分支if语句
if ( B )
S1
else
S2;【例3.2】MAX函数
程序片段
if ( a=b )
max=a ;
else
max=b ;
;【例3.3】sign符号函数
程序片段
if( x0)
sign=1 ;
else if (x==0)
sign=0 ;
else
sign= -1 ;
;3.2成绩加上获奖信息—单分支程序设计;#include stdio.h
char win;
int mark;
void main(void){
printf(“输入你的考试成绩:”);
scanf(“%d”,mark);
getchar();
printf(“你是否在程序设计大奖赛获奖(Y/N)?\n”);
win=getchar();
if ((win==Y)||(win==y))
mark=mark+5;
if ( mark100 )
mark = 100 ;
printf(“你的最后成绩是:%d\n”,mark);
} ;语句形式
if ( e )
S;mark=mark+5
;【例3.5】判断是否是闰年
能被 4 整除,但不能被 100 整除( year%4==0)(year%100!=0)
或||
能被 400 整除(year%400==0 );mark =’Y’;#include stdio.h
char mark ;
int year;
void main(void){
printf(“请输入年份:”);
scanf(“%d”,year);
mark = ‘N’ ;
if(( year%4==0)(year%100!=0)||(year%400==0 ))
mark = ‘Y’;
printf(“%c\n”, mark);
} ;【例3.6】求一元二次方程 ax2 + bx + c = 0
一元二次方程(a≠0)
有实根(△≥0)
两个不同的实根(△0)
两个相同的实根(△=0)
有虚根(△<0)
是一元一次方程(a=0,b≠0)
是恒等式(a=0, b=0)
恒等式成立(c=0)
恒等式不成立(c≠0);解二次方程;if(a!=0){
delta=b*b-4*a*c;
if(delta0)
printf(x1=%g ,x2=%g\n, (-b+sqrt(delta))/(2*a),(-b-sqrt(delta))/(2*a));
else
if(delta==0)
printf(x1=x2=%f\n,-b/(2*a));
else
printf(x1=%g+%gi , x2=%g-%gi\n, -b/(2*a),sqrt(-delta)/(2*a),
-b/(2*a),sqrt(-delta)/(2*a) );
}else{ // 以下处理a==0的情况
if(b!=0)
printf(x=%g\n,-c/b);
else
if(c==0)
printf(0=0!\n);
else
printf(%g=0\n,c);
};3.3 关于if;else 属于最前边的 if ,则
if (ab) if (bc) x=0; else x=1;相当于
if (ab) {
if ( bc )
x = 0 ;
}else
x = 1 ;
前述的问题的答案是:
① 若 a=b 执行 x = 1 ;
显示全部