作者在 2011-08-22 10:14:14 发布以下内容
/*
时间:2011年8月22日10:04:21
功能:简单的电梯程序,输入楼层号,显示对应楼层的欢迎词
目的:练习switch,以及switch中break的用法
*/
# include <stdio.h>
# include <math.h>
int main(void)
{
int i;
char j;
char ch;
do
{
printf("输入想去的楼层号\n"); //理解switch最典型的程序就是电梯程序
scanf("%d",&i);
if (i < 0)
j = '-';
else
j = '+';
i = abs(i);
switch (j)
{
case '-': //case后面的表达式可以是数字常量也可以是字符常量
printf("地下");
//break; //这里不用break跳出switch,则执行完case '-'之后会继续执行case '+'里面的语句
case '+':
{
switch (i) //switch也可以嵌套使用
{
case 1:
printf("第1层");
break; //这里的break只用来跳出离他最近的一级switch而不是跳出总的switch
case 3: //case的标号不一定顺序排列,但在没有break的时候会影响执行流程
printf("第3层"); //这里输入楼层是3时,输出仍然是第3层,不因为case 3的位置在case 1 后面就显示第2层
break;
case 2:
printf("第2层");
break;
default: //default代表默认,所有没在标号中出现的数字都通过default找到入口执行
printf("没有这一层\n");
break;
case 4: //default的位置不一定要在所有标号的最后
printf("第4层");
break;
}
if(i <= 4 && i != 0)
printf("欢迎您\n");
break;
}
}
printf("是否继续(Y/N)? ");
scanf(" %c", &ch);
} while ('y'==ch || 'Y'==ch);
return 0;
}
/*
在VC++6.0中的输出结果为:
————————————
输入想去的楼层号
1
第1层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
2
第2层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
3
第3层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
4
第4层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
5
没有这一层
是否继续(Y/N)? y
输入想去的楼层号
-1
地下第1层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
0
没有这一层
是否继续(Y/N)? n
Press any key to continue
————————————
*/
时间:2011年8月22日10:04:21
功能:简单的电梯程序,输入楼层号,显示对应楼层的欢迎词
目的:练习switch,以及switch中break的用法
*/
# include <stdio.h>
# include <math.h>
int main(void)
{
int i;
char j;
char ch;
do
{
printf("输入想去的楼层号\n"); //理解switch最典型的程序就是电梯程序
scanf("%d",&i);
if (i < 0)
j = '-';
else
j = '+';
i = abs(i);
switch (j)
{
case '-': //case后面的表达式可以是数字常量也可以是字符常量
printf("地下");
//break; //这里不用break跳出switch,则执行完case '-'之后会继续执行case '+'里面的语句
case '+':
{
switch (i) //switch也可以嵌套使用
{
case 1:
printf("第1层");
break; //这里的break只用来跳出离他最近的一级switch而不是跳出总的switch
case 3: //case的标号不一定顺序排列,但在没有break的时候会影响执行流程
printf("第3层"); //这里输入楼层是3时,输出仍然是第3层,不因为case 3的位置在case 1 后面就显示第2层
break;
case 2:
printf("第2层");
break;
default: //default代表默认,所有没在标号中出现的数字都通过default找到入口执行
printf("没有这一层\n");
break;
case 4: //default的位置不一定要在所有标号的最后
printf("第4层");
break;
}
if(i <= 4 && i != 0)
printf("欢迎您\n");
break;
}
}
printf("是否继续(Y/N)? ");
scanf(" %c", &ch);
} while ('y'==ch || 'Y'==ch);
return 0;
}
/*
在VC++6.0中的输出结果为:
————————————
输入想去的楼层号
1
第1层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
2
第2层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
3
第3层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
4
第4层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
5
没有这一层
是否继续(Y/N)? y
输入想去的楼层号
-1
地下第1层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
0
没有这一层
是否继续(Y/N)? n
Press any key to continue
————————————
*/