我是靠谱客的博主 发嗲鱼,这篇文章主要介绍c程序设计 选择结构的嵌套,现在分享给大家,希望可以做个参考。

if 语句的嵌套
if()
if()语句1
else()语句2
else
if () 语句3
else 语句4
switch语句
用 if…else表示多分支选择的时候,嵌套的层数太多,容易让程序难以理解,此时可以使用switch
1’语法
switch(表达式0
{
case 常量1:语句1;
case 常量2:语句2;

default:语句n+1;//default语句可以没有
}
执行:先计算表达式的值,然后将值和case后面的常量比较,如果相等,则执行相应case后的语句,以及之后所有的语句,如果想改变,需要在case后加break;break的作用是跳出switch语句,如果和所有case后的常量都不相等,则执行default后面的语句。

有如下例题
109页12题
有4个圆塔,圆心分别为(2,2)(2,-2)(-2,2)(-2,-2)圆半径为1,这4个塔的高度为10m,塔外无其它建筑物高度为0,今输入任一点的坐标,求该点的建筑高度

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include"stdio.h" int main() { double h,x,y,d1,d2,d3,d4; printf("请输入一个(x,y)n"); scanf("%lf%lf",&x,&y); d1=(x-2)*(x-2)+(y-2)*(y-2); d2=(x+2)*(x+2)+(y-2)*(y-2); d3=(x-2)*(x-2)+(y+2)*(y+2); d4=(x+2)*(x+2)+(y+2)*(y+2); if(d1>1&&d2>1&&d3>1&&d4>1) printf("h=0"); else printf("h=10"); }

用switch语句实现多分支选择结构

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdio.h" int main() { char grade; scanf("%c",&grade); printf("your score"); switch(grade) { case'A':printf("90~100n");break; case'B':printf("80~90n");break; case'C':printf("70~80n");break; case'D':printf("60~70n");break; case'E':printf("<60n");break; } }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include"stdio.h" int main() { int grade; scanf("%d",&grade); switch(grade/10) { case 10: case 9:printf("A");break; case 8: case 7:printf("B");break; case 6:printf("C");break; default:printf("D");break; } }

4个数比较大小
在这里插入图片描述109页,第九题
给出一个不多于五位数的正整数:
求出它是第几位数字
分别输出每一位数字
按逆序输出每一位数字

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include"stdio.h" int main() { int num,indiv,ten,hundred,thousand,ten_thousand,place; printf("请输入一个整数(0~99999):"); scanf("%d",&num); if(num>9999)place=5; else if(num>999) place=4; else if(num>99) place=3; else if(num>9) place=2; else place=1; printf("位数为%d",place); printf("每位数字是: n"); ten_thousand=num/10000; thousand=(int)(num-ten_thousand*10000)/1000; hundred=(int)(num-thousand*1000-ten_thousand*10000)/100; ten=(int)(num-hundred*100-thousand*1000-ten_thousand*10000)/10; indiv=(int)(num-ten*10-hundred*100-thousand*1000-ten_thousand*10000); switch(place) { case 5:printf("%d %d %d %d %d",ten_thousand,thousand,hundred,ten,indiv); printf("反序数字为:"); printf("%d %d %d %d %d",indiv,ten,hundred,thousand,ten_thousand); break; case 4:printf("%d %d %d %d",thousand,hundred,ten,indiv); printf("反序数字为:"); printf("%d %d %d %d",indiv,ten,hundred,thousand); break; case 3: printf("%d %d %d",hundred,ten,indiv); printf("反序数字为:"); printf("%d %d %d",indiv,ten,hundred); break; case 2:printf("%d %d",ten,indiv); printf("反序数字为:"); printf("%d %d",indiv,ten); break; case 1:printf("%d",indiv); printf("反序数字为:"); printf("%d",indiv); break;} }

最后

以上就是发嗲鱼最近收集整理的关于c程序设计 选择结构的嵌套的全部内容,更多相关c程序设计内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部