文档详情

吉林大学程序设计基础教材第三章—分支程序设计.ppt

发布:2017-04-18约5.56千字共46页下载文档
文本预览下载声明
第三章 分支程序设计 ;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 ;
显示全部
相似文档