上面的程序也可改写为: #include < stdio. h> main( I int year; float money,rate, total;/*本金,月利率,本利合计*/ printf( Input money and year =?" scanf("%f%d",& oney,&year);/*输入本金和年限*/ if(year==1)rate=0.063;/*根据年限定利率*/ else if year 2)rate=0.0066 else if year 3)rate=0.0069; else if year 5)rate=0.0075; else if year 8)rate=0.0084; else rate=0. 0 total= money money rate *k12 s year, printf( Total=%. 2f\n", total) C++程序设计课件设计制作:徐龙琴 16
C++程序设计课件 设计制作:徐龙琴 16 上面的程序也可改写为: #include <stdio.h> main( ) { int year; float money,rate,total; /* 本金,月利率,本利合计*/ printf("Input money and year =?"); scanf("%f%d", &money, &year); /* 输入本金和年限 */ if ( year == 1 ) rate=0.0063; /* 根据年限定利率 */ else if ( year == 2 ) rate=0.0066; else if ( year == 3 ) rate=0.0069; else if ( year == 5 ) rate=0.0075; else if ( year == 8 ) rate=0.0084; else rate=0.0; total = money + money * rate *12 * year; printf(" Total = %.2f\n", total); }
◇i语句注意: if后面的“表达式”,可为关系或逻辑表达式,也可为任意类型的数 句允许嵌套所谓嵌套,就是指在 if-else语句中又包含 if-else语 句,或者i语句),但嵌套的层数不宜太多。 3else子句(可选)是i语句的一部分,必须与i配对使用,不能单独使用 4else子句与i的匹配原则:与在它上面、距它最近、且尚未匹配的i配对 若内层还没配对,先使内存先配对。 5部分ⅱ语句可用条件运算符替代 6写语句时,为了提高程序的可读性,最好采用缩进格式 7空语句也可做中的语句:if(条件表达式); C++程序设计课件设计制作:徐龙琴 17
C++程序设计课件 设计制作:徐龙琴 17 ◇if语句注意: 1 if后面的“表达式” ,可为关系或逻辑表达式,也可为任意类型的数 值 2 if语句允许嵌套(所谓嵌套,就是指在if—else语句中又包含if—else语 句,或者if语句),但嵌套的层数不宜太多。 3 else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用。 4 else子句与if的匹配原则:与在它上面、距它最近、且尚未匹配的if配对。 若内层还没配对,先使内存先配对。 5 部分if语句可用条件运算符替代 6 写if语句时,为了提高程序的可读性,最好采用缩进格式 7 空语句也可做if中的语句:if (条件表达式);
例:要求据输入的性别和身高判断是否符合招生要求:男身高 大于168cm,女身高大于160cm为合格。 分析:设用sex表性别:为1时表男,0时表女。 hei ght表身高。 ①首先判断性别 ②再据不同的性格判断是否符合要求,若输入的性别不 是0和1,则给出提示错误。 据上可得程序流程图为: C++程序设计课件设计制作:徐龙琴 18
C++程序设计课件 设计制作:徐龙琴 18 例:要求据输入的性别和身高判断是否符合招生要求:男身高 大于168cm,女身高大于160cm 为合格。 分析:设用sex表性别:为1时表男,0时表女。height表身高。 ①首先判断性别 ②再据不同的性格判断是否符合要求,若输入的性别不 是0和1,则给出提示错误。 据上可得程序流程图为:
开始 据流程图得程序为 输入 iinc lude <stdio. h> void main() nt sex: error height=1681 float hei ght printf(“\ nPlease input sex and he i ght:n”) pass not scanf(“%d%f”,&sex,& hei ght); f(sex==0 lf( he i ght>=160) pr intf(“\ npass”) else pr intf(“ n not pass”) e 结束 if(sex==1) I f(height>=168) pr intf(< else printf(“ n not pass”); else pr intf (\n error?") C++程序设计课件设计制作:徐龙琴 19
C++程序设计课件 设计制作:徐龙琴 19 结束 开始 error not No 输入 sex =0 height>=168 sex =1 height>=160 Yes No pass not pass No Yes Yes No Yes 据流程图得程序为: #include <stdio.h> void main ( ) { int sex; float height; printf(“\nPlease input sex and height:\n”) scanf(“%d%f”,&sex,&height); if(sex= =0) If(height>=160) printf(“\npass”); else printf(“\n not pass”) else if(sex= =1) If(height>=168) printf(“\npass”); else printf(“\n not pass”); else printf(“\n error”); }
例:求一元二次方程ax2+bx+c=0的解 分析:有以下几种可能: 1.a等于0,不是二次方程 2.a不等于0 ⑩b×b-4ac=0,有两相等的实根。 ②b×b-4ac>0,有两不等的实根 ③b×b-4ac<0,有两复根 据上可得程序N一S图为: C++程序设计课件设计制作:徐龙琴 20
C++程序设计课件 设计制作:徐龙琴 20 例:求一元二次方程ax2+bx+c=0的解 分析:有以下几种可能: ⒈ a等于0,不是二次方程。 ⒉ a不等于0 ①b×b–4ac=0,有两相等的实根。 ②b×b–4ac>0,有两不等的实根 ③b×b–4ac<0,有两复根 据上可得程序N-S图为: