C语言-switch语句
switch (表达式的值) {
case 1:
语句1
break;
case 2:
语句2
break;
case 3:
语句3
break;
case 4:
语句4
break;
......
default:
默认语句
break;
1、适用于离散值的开关判断,可以转换成一段连续的范围
2、注意case穿透,break的使用。
3、可以把各个case值定义为enum枚举或者使用宏定义定义别名
1、使用switch语句完成:输入一个简单的两个数字加减乘除运算的式子,使用switch通过转换加减乘除符号计算各种情况下式子的值,也就是一个简单的计算器:
int a,b;
float c;
char sign; printf("请输入要运算的数字:");
scanf("%d",&a);
getchar(); //在输入第一个数字后按回车确认,使用getchar在读取sign的时候会错误的把回车符读进来,所以先使用getchar把这个字符读走。
printf("请输入要进行的运算:"); sign=getchar();
printf("请输入要运算的数字:");
scanf("%d",&b); switch(sign) {
case '+':
c=a+b;
break;
case '-':
c=a-b;
break;
case '*':
c=a*b;
break;
case '/':
if (b) {
c=a/b;
}else
printf("除数不能为0\n"); }
printf("%d%c%d=%f\n",a,sign,b,c);
2、使用海伦公式计算三角形的面积。海伦公式的面积为,其中p=(a+b+c)/2,a,b,c为三角形三条边长。
注意:本程序应先判断输入的三个边长是否符合三角形两边之和大于第三边,两边之差小于第三边的条件,如果不符合条件,则不是三角形,不能使用海伦公式往下计算,本程序忽略此判断,假设三个边长符合三角形的边长条件。此判断在下一个程序中会体现出来。
float a,b,c,p,s;
printf("请输入三角形三个边长:\n");
scanf("%f%f%f", &a, &b, &c); p = (a+b+c)/;
s = sqrt((double)p * (p-a) * (p-b) * (p-c)); printf("三角形的面积是%.2f\n",s);
3、输入三角形的三条边长,判断三角形是直角三角形还是等边、等腰、一般三角形。使用if嵌套完成。
float a, b, c;
printf("请输入三角形三个边长:\n");
scanf("%f%f%f", &a, &b, &c);
if (a> && b> && c>) {
if (a+b>c && a+c>b && b+c>a) {
if (a==b && b==c) {
printf("输入是正三角形\n");
}else if(a==b || b==c || a==c){
if(a*a==b*b+c*c || a*a+b*b==c*c || a*a+c*c==b*b)
printf("输入是等腰直角三角形\n");
else printf("输入是等腰三角形\n");
}else if(a*a==b*b+c*c || a*a+b*b==c*c || a*a+c*c==b*b){
printf("输入是直角三角形\n");
}else printf("输入是一般三角形\n");
}
else printf("输入不是三角形\n");
}else{
printf("输入不是三角形\n");
}
4、输入一个百分制的成绩,使用switch语句把此成绩转换为A,B,C,D的等级制并输出:
int score=0;
char grade='0';
scanf("%d",&score);
if (score>= && score<=) {
switch (score/) {
case :
case :
grade = 'A';
break;
case :
grade = 'B';
break;
case :
grade = 'C';
break;
case :
grade = 'D';
break; default:
grade ='N';
break;
}
printf("该成绩转换为等级制为%c!!!\n",grade); }else
printf("输入不合法!!!!\n");
C语言-switch语句的更多相关文章
- R语言Switch语句
R语言Switch语句 switch语句允许一个变量值的列表来平等进行测试.每个值被称为一个条件(情况),变量被接通检查每个条件(情况). 语法 在R语言中创建switch语句的基本语法是: 以下规则 ...
- C语言switch语句
C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况.例如,输入一个整数,输出该整数对应的星期几的英 ...
- 1.4 Go语言-switch语句(转)
与串联的if语句类似,switch语句提供了一个多分支条件执行的方法.不过在这里用一个专有名词来代表分支——case.每一个case可以携带一个表达式或一个类型说明符.前者又可被简称为case表达式. ...
- C语言-switch语句的使用。对文件的输出处理。for循环和if的结合使用。
//函数fun功能:统计字符串中各元音字母的个数,注意:不区分大小写. //重难点:switch语句的使用. #include <stdlib.h> #include <conio. ...
- PROCESS_YIELD()宏和C语言的switch语句< contiki学习笔记之七>
写在前面: 按照main()函数的代码一行一行的分析,该是看到了 etimer_process 这个位置.但是etimer_process实现里的一个宏 PROCESS_YIELD()引出了很多故事 ...
- go语言基础之switch语句 和 fallthrough 用途
Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码: 示例1 ...
- go语言之if语句和switch语句和循环语句
1.if语句 package main import ( "fmt" "io/ioutil" ) func main() { //流程控制 //使用常量定义一个 ...
- 【C语言】-条件语句-switch语句
switch语句: 用于直接处理不同情况下的多路问题. switch语句又可称为开关语句,其执行流程和多分支if语句类似. switch (表达式) { case 常量表达式1:语句组1;break; ...
- C语言switch中case后跟随break语句
1.case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即“只是开始执行处的入口标号”.因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行:而且执行完一个case ...
随机推荐
- Zencart批量删除无图片产品
Zencart批量删除无图片产品 2012-04-23 07:26:18| 分类: 默认分类 |字号 订阅 转自 http://zhongjia33.blog.163.com/blog/#m=0 ...
- java导出和读取excel数据
使用的是poi的jar包 下载地址http://poi.apache.org/download.html 主要是把jar包导入,直接新建一个列子测试一下就明白了.使用起来还是比较方便的,代码里面的原理 ...
- ListView使用的时候遇到的一些问题
昨天在做项目时,请求服务器的好友动态后,将好友动态和评论显示到界面上,用ListView显示,发现一进这个界面时,listView的适配器的getVIew()方法就会执行6次,后来发现原来是ListV ...
- hdu_5616_Jam's balance(暴力枚举子集||母函数)
题目连接:hdu_5616_Jam's balance 题意: 给你一些砝码,和一些要被称出的重量,如果这些砝码能称出来输出YES,否则输出NO 题解:我们想想,这题求组合方式,我们这里可以直接用母函 ...
- git 使用系列(一)—— git stash 的使用
1. git 放弃本地修改 git checkout . #本地所有修改的.没有的提交的,都返回到原来的状态 git stash #把所有没有提交的修改暂存到stash里面.可用git stash p ...
- 2015浙江财经大学ACM有奖周赛(一) 题解报告
2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...
- 使用Dreamweaver格式化HTML代码
今天偶然发现了DreamWeaver(DW)的一个非常有用的功能,就是代码的格式化功能.一般情况下,我们写的html或者css代码都计较混乱,难以阅读,即使刚开始很在意代码的可读性,但是等到所使用的标 ...
- 在CentOS中安装jenkins
一.检查java是否安装 $ java -version java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 ...
- Jquery和Javascript对象之间的转换
jQuery 对象是通过 jQuery 包装DOM 对象后产生的对象.jQuery 对象是 jQuery 独有的,其可以使用 jQuery 里的方法,但是不能使用 DOM 的方法:例如: $(&quo ...
- POJ Sudoku 数独填数 DFS
题目链接:Sudoku Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 18105 Accepted: 8772 Sp ...