第4章 选择结构_第1页
第4章 选择结构_第2页
第4章 选择结构_第3页
第4章 选择结构_第4页
第4章 选择结构_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 第第4章章 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 4.1 例例 4-1 4-1 从键盘输入一个整数,输出该整数的绝对值。从键盘输入一个整数,输出该整数的绝对值。 程序代码程序代码 #include int main(void) int x,y; printf(“请输入一个整数:请输入一个整数: ”);); scanf(“%d”,&x); if(x=0) y=x; else y=-x; printf(“%d 的绝对值为:的绝对值为: %dn”,x,y); 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 4.1.2

2、 关系运算符都是双目运算符,要求两个操关系运算符都是双目运算符,要求两个操作数是同一种数据类型,其结果为逻辑值作数是同一种数据类型,其结果为逻辑值( (真真和假和假) )。在。在C语言中:语言中:逻辑值逻辑值“真真”:运算结果系统用:运算结果系统用1表示表示, , 参与参与运运 算时用算时用非非0值值( (数值类即可数值类即可) )表示;表示;逻辑值逻辑值“假假”:用:用0表示。表示。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 小于小于 = 大于大于 = = 大于或等于大于或等于 = = 等于等于 != != 不不等于等于 2. 优先级优先级 关系运算符中关系运算符中、=、=优先

3、级相同,优先级相同,= =和和!= 的优先级相同,低于前四种的优先级相同,低于前四种; 关系运算符的优先级低于关系运算符的优先级低于算术运算符,高于逻辑运算符算术运算符,高于逻辑运算符&和和|,介于位运算符,介于位运算符之间。之间。 3. 结合性结合性 左结合。若有多个关系运算同时进行,按优先级从左结合。若有多个关系运算同时进行,按优先级从高到低次序运算,优先级相同从左向右计算。高到低次序运算,优先级相同从左向右计算。1. 1. 关系运算符关系运算符 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 4.4.关系表达式关系表达式用关系运算符连接两个用关系运算符连接两个数值表达式数值表达式

4、形成的式子。关系表达式的一般形式为:关系表达式的一般形式为: 表达式表达式 关系运算符关系运算符 表达式表达式 3+2 3+2 = 2 2* *3 /3 /* *判断判断3+23+2和和2 2* *3 3的结果是否相等的结果是否相等* */ / a=b / a=b /* *判断判断a a的值是否大于或等于的值是否大于或等于b b的值的值* */ /注:注:数值表达式数值表达式一般是算术表达式,也可以是关系表一般是算术表达式,也可以是关系表达式、逻辑表达式、赋值表达式、字符表达式等。达式、逻辑表达式、赋值表达式、字符表达式等。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 4.1.3

5、【问题】我们在求解数学问题中常会遇到分段函数【问题】我们在求解数学问题中常会遇到分段函数的问题,例如:的问题,例如: 0, x0 这类问题可以用这类问题可以用ifif语句描述。语句描述。ifif语句可分:语句可分: 单分支单分支ifif语句语句 双分支双分支ifif语句语句 多分支选择结构多分支选择结构【问题】我们在求解数学问题中常会遇到分段函数【问题】我们在求解数学问题中常会遇到分段函数的问题,例如:的问题,例如: 0, x0 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 单分支单分支ifif语句的基本形式为:语句的基本形式为: if (if (表达式表达式) ) 语句;语句;语义

6、:首先判断表达式的值是否语义:首先判断表达式的值是否为真为真( (非非0) ,若表达式的值为真,若表达式的值为真,则执行其后的语句;则执行其后的语句; 否则不执行否则不执行该语句。无论是否执行该语句,该语句。无论是否执行该语句,接着都执行接着都执行ifif语句后面语句。语句后面语句。1. 表达式表达式语句语句非非00 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include main()int x,yint x,y; ; printf printf(“(“请输入一个整数请输入一个整数: ” ”);); scanf(“%d”,&xscanf(“%d”,&x); ); y=x; y

7、=x; if(xif(x0) y=-x;0) y=-x; printf(“%d printf(“%d 的绝对值为的绝对值为: %dn”,x,y%dn”,x,y);); 【例【例4-24-2】用单分支实现实现输出一个整数的绝对值用单分支实现实现输出一个整数的绝对值 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 2 . 双分支双分支ifif语句是语句是ifif语句基本形式,语句基本形式,结构为:结构为: 语义:当表达式的值为真,则执行语义:当表达式的值为真,则执行语句语句1 1,否则执行语句,否则执行语句2 2。然后执行。然后执行ifif语句后面的语句。语句后面的语句。单分支单分支ifi

8、f语句相当于双分支语句相当于双分支ifif语句语句缺省缺省elseelse子句。子句。非非0表达式表达式语句语句1语句语句20 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include stdio.h#include main() float a, b,max; printf(input the two numbers: ); scanf(%f,%f,&a,&b); if (ab) max=a; else max=b;printf(max=%fn,max); 【例【例4-34-3】从键盘输入两个数,输出其中最大者】从键盘输入两个数,输出其中最大者算法:算法:1.1.定义变量定义

9、变量a,b,maxa,b,max; ;2.2.输入输入a a和和b;b;3.3.求求a a和和b b中较大数中较大数maxmax4.4.输出输出maxmax 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 (1)if语句语句条件表达式条件表达式可以是任何类型表达式,如表达式值非可以是任何类型表达式,如表达式值非0,即为,即为“真真”;表达式值为;表达式值为0,即为,即为“假假”。 注意:赋值运算符注意:赋值运算符“=”与相等运算符与相等运算符“= =”区别区别(2)在在if语句中,条件表达式必须用语句中,条件表达式必须用括号括号括起来;在每一个子括起来;在每一个子句之后必须加句之后必须

10、加分号分号。else子句是子句是if语句的一部分,和语句的一部分,和if子句配子句配对使用。例如:对使用。例如: if (ab) max=a; else max=b;(3)在在if语句中,所有的语句应为语句中,所有的语句应为单个语句单个语句,一组语句用花括,一组语句用花括号号“ ”括起来组成一个复合语句。括起来组成一个复合语句。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 4.1.4 1、条件运算符、条件运算符 ? :三目运算符,优先级低于关系运算符和算术运算符,三目运算符,优先级低于关系运算符和算术运算符,高于赋值运算符高于赋值运算符,结合性是自结合性是自右至左。右至左。 2、条

11、件表达式、条件表达式表达式表达式1? 表达式表达式2:表达式:表达式3求值规则为先计算表达式求值规则为先计算表达式1的值,若为真,则以表的值,若为真,则以表达式达式2的值作为整个条件表达式的值的值作为整个条件表达式的值(不计算表达式不计算表达式3),否则以表达式否则以表达式3的值作为整个条件表达式的值的值作为整个条件表达式的值(不计算不计算表达式表达式2) 。if (ab) if (ab) max=a;max=a; else else max=b;max=b;max=(ab)?a:bmax=(ab)?a:bab?a:cd?c:dab?a:cd?c:d?x=53?5:46?4:6x=53?5:4

12、6?4:6 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include stdio.h#include main( )int a, b; scanf(“%d,%d”,&a,&b); printf(“%d”,(-a=b+)? -a: b+); printf(“,%d,%dn”,a,b);注意:条件表达式的短路现象注意:条件表达式的短路现象运行时输入运行时输入5 5,44输出输出3 3,3 3,5(5(: :后的后的b+b+没有计算没有计算) )运行时输入运行时输入5 5,55输出输出6 6,4 4,7(7(: :前的前的-a-a没有计算没有计算) ) 安 庆 师 范 学 院 计 算

13、 机 与 信 息 学 院 求较大数的条件表达式是求较大数的条件表达式是max=(ab)?a:b;其功能等价其功能等价于以下于以下if语句:语句: if (ab) max=a; else max=b;求绝对值求绝对值y=|x|的条件表达式的条件表达式 y=x0 ? 1.0: (x0 ? -1.0:0 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 4.2 分析分析: 用用getchar()函数接受键盘输入的一个字符函数接受键盘输入的一个字符 用用ASCII码码来判别字符的类型。来判别字符的类型。 共存在共存在5种类别,逐一比较判断。种类别,逐一比较判断。 用用多分支多分支if语句语句实现

14、。实现。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include main()char c; printf(Input a character;); c=getchar(); if(c= 0 &c= A &c= a &c= z ) printf(This is a small lettern); else printf(This is an other charactern); 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 1. 逻辑运算符逻辑运算符( (作用于逻辑值,结果也为逻辑值作用于逻辑值,结果也为逻辑值) ) ! ! 逻辑非逻辑非 单目、右结合、优先级最高单

15、目、右结合、优先级最高(14)(14); & & 逻辑与逻辑与 双目双目、左结合、优先级较低、左结合、优先级较低(5)(5); | | 逻辑或逻辑或 双目双目、左结合、优先级最低、左结合、优先级最低(4)(4)。 其中,其中,&和和|运算符的优先级低于关系运算符。运算符的优先级低于关系运算符。设设a a、b b均为逻辑值,运算结果:均为逻辑值,运算结果:!a 当a为真时,结果为假;当a为假时,结果为真a&b 当且仅当a、b都为真时,结果为真a|b 当且仅当a、b都为假时,结果为假4.2.2 4.2.2 逻辑运算符逻辑运算符 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 ab!aa&b

16、a|b真真( (非非0)0)真真( (非非0)0)假假(0)(0)真真(1)(1)真真(1)(1)真真( (非非0)0)假假(0)(0)假假(0)(0)假假(0)(0)真真(1)(1)假假(0)(0)真真( (非非0)0)真真(1)(1)假假(0)(0)真真(1)(1)假假(0)(0)假假(0)(0)真真(1)(1)假假(0)(0)假假(0)(0)非真即假非真即假 同真才真同真才真 同假才假同假才假 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 4.4.逻辑表达式逻辑表达式用逻辑运算符将表达式连接起来的式子。用逻辑运算符将表达式连接起来的式子。逻辑表达式的一般形式为:逻辑表达式的一般

17、形式为: ! ! 表达式表达式 表达式表达式 &(|) &(|) 表达式表达式例如表示例如表示a axbxb,在,在C C语言中用语言中用 判断判断x=a x=a 和和 x=bx=b的值是否都为真,若都为真,即的值是否都为真,若都为真,即x x在区间在区间a,ba,b ,则表达式为真,否则为假。,则表达式为真,否则为假。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 分析下面程序段的运行结果分析下面程序段的运行结果 #include main() int a=123,b=456,x;char c=a;x=(a|b) & (c=a & x=a & x=b表示表示x x在区间在区间a,b

18、a,b 2.xb 2.xb表示表示x x不在区间不在区间a,ba,b 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 (1) 设设a为一合法表达式,有如下规律:为一合法表达式,有如下规律: “0&a ”其结果为其结果为0,不计算,不计算a的值的值 ; “1|a” 其结果为其结果为1,不计算,不计算a的值。的值。(2)当有多个逻辑运算符时,把高优先级的表达式作为一个整体,当有多个逻辑运算符时,把高优先级的表达式作为一个整体,只要能确定逻辑表达式的值就不再计算剩下部分。例如:只要能确定逻辑表达式的值就不再计算剩下部分。例如:若有定义若有定义int x,y,z; x=y=z=0;对于对于 x

19、+&y+ |z+; 结果结果x=1,y=0,z=1表达式为表达式为0对于对于 +x| +y&+z; 结果结果x=1,y=0,z=0表达式为表达式为1逻辑运算符的逻辑运算符的“短路短路”现象现象 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 4.2.3 if语句语句if(表达式表达式1) 语句语句1; else if (表达式表达式2) 语句语句2; else if (表达式表达式3) 语句语句3; else if (表达式表达式n) 语句语句n; else 语句语句n+1; 语义:语义:依次判断表达式的值,当某个表达式为真时,依次判断表达式的值,当某个表达式为真时,则执行对应语句。然

20、后跳到整个则执行对应语句。然后跳到整个if语句之外继续执行。语句之外继续执行。如果所有表达式均为假,则执行语句如果所有表达式均为假,则执行语句n+1 。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 【例【例4-7】计算】计算#include main() float x,y; printf(input one number: ); scanf(%f,&x); if (x=-10) y=2*x; else if(x=0) y=2+x; else if(x=10) y=x-2; else y=x/10 printf(y=%fn,y

21、); 10 x10 x00 x10-10 x 10/222xxxxy 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 将一个百分制的成绩转化成将一个百分制的成绩转化成5 5个等级:个等级:9090分以上分以上为为AA,80808989分为分为BB,70707979分为分为CC,60606969分为分为DD,6060分以下为分以下为EE。例如输入。例如输入7575,则显示,则显示C C。4.3 分析分析: 多个条件的判断,可采用多个条件的判断,可采用if- else if-else。 else if嵌套较多,程序冗长难读。嵌套较多,程序冗长难读。 可采用可采用switch语句,结构更加清

22、晰,易于理解。语句,结构更加清晰,易于理解。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include main()int a; printf(input the score: ); scanf(%d,&a); if(a100) printf(data errorn); else if (a=90) printf(An); else if (a=80) printf(Bn); else if (a=70) printf(Cn); else if (a=60) printf(Dn); else printf(En); 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 用用s

23、witchcase语句来实现【例语句来实现【例4-8】分析分析: 首先将首先将分数段分数段和等级字母的对应关系转化为某个和等级字母的对应关系转化为某个常量常量和等级字母的对应关系。和等级字母的对应关系。 。 取该数的十位数作为判断依据,即取该数的十位数作为判断依据,即a/10。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include main()int a; scanf(%d,&a); if(a100) printf(data errorn); else switch(a/10) case 10: case 9: printf(An);break; case 8: print

24、f(Bn);break; case 7: printf(Cn);break; case 6: printf(Dn);break; default: printf(En); 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 switch语句专门用于解决多分支选择问题语句专门用于解决多分支选择问题1、一般形式、一般形式 switch(开关表达式开关表达式) case 常量表达式常量表达式1: 语句语句1; case 常量表达式常量表达式2: 语句语句2; case 常量表达式常量表达式n: 语句语句n; default : 语句语句n+1; 4.3.2 安 庆 师 范 学 院 计 算 机 与

25、 信 息 学 院 输入一个十进制数,输出所对应的英文星期单输入一个十进制数,输出所对应的英文星期单词,若所输入的数小于词,若所输入的数小于1或大与或大与7,则输出,则输出“Error”#include main()int a; scanf(%d,&a); switch(a) case 1: printf(Mondayn); case 2: printf(Tuesdayn); case 3: printf(Wednesdayn); case 4: printf(Thursdayn); case 5: printf(Fridayn); case 6: printf(Saturdayn); case

26、 7: printf(Sundayn); default: printf(Errorn); 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 2、switch语句构成多分支选择结构语句构成多分支选择结构 break:结束:结束switch语句。语句。 switch(开关表达式开关表达式) case 常量表达式常量表达式1: 语句语句1; break; case 常量表达式常量表达式2: 语句语句2; break; case 常量表达式常量表达式n: 语句语句n; break; default : 语句语句n+1; break; 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #i

27、nclude main()int a; scanf(%d,&a); switch(a) case 1: printf(Mondayn); break; case 2: printf(Tuesdayn); break; case 3: printf(Wednesdayn); break; case 4: printf(Thursdayn); break; case 5: printf(Fridayn); break; case 6: printf(Saturdayn); break; case 7: printf(Sundayn); break; default: printf(Errorn);

28、 修修改例改例4-94-9的程序,的程序,在每一个在每一个casecase语句之后增加语句之后增加breakbreak语句,语句, 使每一个使每一个casecase执行之后均可执行之后均可跳出跳出switchswitch语语句,从而避免句,从而避免输出不需要的输出不需要的结果。结果。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include main() int x=1,y=0,a=1,b=0;switch(x) case 1: switch(y) case 0: a+; case 1: b+; break; case 2: a+; b+; break; printf(a=%d

29、,b=%dn,a,b); 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 (1) switch后后“开关表达式开关表达式”允许为任何类型,但允许为任何类型,但一般为整型一般为整型。(2) 在每一个在每一个case后后各常量表达式的各常量表达式的值不能相同值不能相同,否则会出错。,否则会出错。(3) 在在case后后,允许有多个语句,允许有多个语句,可以不用可以不用 括起来。括起来。(4) case和和default子句出现的先后顺序可以变动,有子句出现的先后顺序可以变动,有break语句语句时不会影响程序执行结果。时不会影响程序执行结果。default子句也可以省略不用。子句也可以省略

30、不用。(5) 多个多个case可以共用一组可以共用一组执行语句。例如:执行语句。例如: case A: case B: case C:printf(60n);break; (6) break(中断中断)语句放在语句放在switch某语句组之后,跳出某语句组之后,跳出(该层该层) switch语句。语句。(7)switch语句遇语句遇break或右大括号或右大括号结束。结束。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 4.3.3 当当if语句中的语句体又是语句中的语句体又是if语句时,这种情况就叫语句时,这种情况就叫if语句的嵌套语句的嵌套。C语言对语言对if语句嵌套的层数没有限制

31、。语句嵌套的层数没有限制。在双分支在双分支if语句中语句语句中语句1和语句和语句2均嵌套的形式为:均嵌套的形式为: if (表达式表达式) if (表达式表达式) 语句语句11; else 语句语句12; else if (表达式表达式) 语句语句21; else 语句语句22; 有时可能只有语句有时可能只有语句1或语句或语句2嵌套,也可能有多层嵌嵌套,也可能有多层嵌套套(各层可能单分支或双分支各层可能单分支或双分支),因此就有很多情况。,因此就有很多情况。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 嵌套嵌套if语句避免出错要点:语句避免出错要点:按按ififelseelse配对

32、原则设计嵌套。配对原则设计嵌套。(使(使每每个个else与其前面最近的尚未配对的与其前面最近的尚未配对的if匹配匹配。)。)当内层当内层ifif语句是单分支时,尽可能嵌套语句是单分支时,尽可能嵌套在外层在外层elseelse子句中;如果一定要嵌套在外层子句中;如果一定要嵌套在外层ifif子句中,必须要加花括号。子句中,必须要加花括号。按正确的缩进格式书写程序。按正确的缩进格式书写程序。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 If (表达式表达式) if(表达式表达式) 语句语句1;else 语句语句2; 注意:注意: else 与第二个与第二个if配对,要想让其与第一个配对,

33、要想让其与第一个if配对,配对,则应写成则应写成 if(表达式表达式) if(表达式表达式) 语句语句1; else 语句语句2; 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include main() int x,y ; scanf(” %d ” ,&x) ; if(x0) y=-1 ; else if(x=0) y=0 ; else y=1; printf(”x=%d,y=%dn”,x,y) ;书书P65 P65 判断其他判断其他程序正确性程序正确性 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 综合应用实例综合应用实例【例【例4-134-13】输入一个十进制正整

34、数,判断该数是否同时】输入一个十进制正整数,判断该数是否同时是是3 3和和7 7的倍数,若是输出的倍数,若是输出Yes!Yes!,否则输出,否则输出“No!”No!”【分析】【分析】3 3和和7 7互为素数,只需考察这个数对互为素数,只需考察这个数对2121取余数结果是否为取余数结果是否为0 0。#include main() int a; printf(Enter an integer: ); scanf(%d,&a); if(a%21=0) printf(Yes!n); else printf(No!n); 奇数奇数 a%2=1(a%2)a%2=1(a%2)偶数偶数 a%2=0a%2=0

35、安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include stdio.hmain ( )int a, b, c, t ; printf (please input the three number: ); scanf (%d,%d,%d, &a, &b, &c); if (ab) t=a; a=b; b=t; /* a和和b的值交换的值交换 */ if (ac) t=a; a=c; c=t; /* a和和c的值交换的值交换*/ if (b= %d =%dn, a, b, c);【例【例4-144-14】输入】输入3 3个数,按从大到小的顺序输出。个数,按从大到小的顺序输出。 【

36、分析】设【分析】设3 3个数分别是个数分别是a a、b b和和c c,把它们中最大者存放在,把它们中最大者存放在a a中,中,把次大者存放在把次大者存放在b b中,中,c c中存放最小者,然后依次输出中存放最小者,然后依次输出a a、b b和和c c 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 输入输入2012年的一个月份,输出这个月年的一个月份,输出这个月的天数。的天数。(2012年为闰年年为闰年)【分析】根据输入的月份数判断,当月份为【分析】根据输入的月份数判断,当月份为1 1、3 3、5 5、7 7、8 8、1010、1212时,天数为时,天数为3131,当月份为,当月份为4

37、 4、6 6、9 9、1111时,天数为时,天数为3030,20122012年是年是闰闰年,所以,当月份为年,所以,当月份为2 2时,时,天数为天数为2929。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include main()int month,days; printf(input the month number: ); scanf(%d,&month); switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12:days=31;break; case 4: case 6: case 9

38、: case 11:days=30;break; case 2:days=29;break; default:days=-1; if(days=-1) printf(input error! ); else printf(2012years %d month has %d daysn, month, days); 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 【分析】根据【分析】根据3个系数的不同情况,方程的根个系数的不同情况,方程的根有如下几种情况。有如下几种情况。1. a=0,不是二次方程;,不是二次方程;2. b2-4ac=0,有两个相等的实根,有两个相等的实根x;3. b2-

39、4ac0,有两个不等实根,有两个不等实根,x1和和x2;4. b2-4ac0,没有实数解。,没有实数解。 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include #include main() float a,b,c,x1,x2,disc; printf(“nInput a,b,c:”); scanf(“%f %f %f”,&a,&b,&c); if (fabs(a)1e-6) printf(“The equation is not a quadratic”);else disc=b*b-4*a*c; if (fabs(disc)0) x1=(-b+sqrt(disc)/(2

40、*a); x2=(-b-sqrt(disc)/(2*a); printf(“The equation has distinct real roots:%8.4f,%8.4f”, x1,x2); else printf(“The equation has not real rootsn”); 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 从键盘输入一个正整数作为年份,编程从键盘输入一个正整数作为年份,编程判断该年是不是闰年。若是则输出判断该年是不是闰年。若是则输出“YES”YES”,否则输出,否则输出“NO”NO”。【分析】闰年的条件是:【分析】闰年的条件是: 能被能被4 4整除,但不

41、能被整除,但不能被100100整除的年份整除的年份( (例如例如20082008年年) )是闰年;是闰年; 能被能被400400整除的年份整除的年份( (例如例如20002000年年) )也是闰年。也是闰年。( (而而19001900年不是闰年年不是闰年) ) 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 #include main( ) int year; scanf(%d,&year); if (year%4=0 & year%100!=0|year%400=0) printf(YES); else printf(NO); 安 庆 师 范 学 院 计 算 机 与 信 息 学 院 编程实现简单的计算器功能,要求用户编程实现简单的计算器功能,要求用户按如下格式输入算式:按如下格式输入算式: 操作数操作数1 1 运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论