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 ...
 
随机推荐
- LightOJ 1370 Bi-shoe and Phi-shoe(欧拉函数)
			
题意:题目给出一个欧拉函数值F(X),让我们求>=这个函数值的最小数N,使得F(N) >= F(X); 分析:这个题目有两种做法.第一种,暴力打出欧拉函数表,然后将它调整成有序的,再建立一 ...
 - Java学习之位运算符
			
位运算符:&,|,^,~,<<,>> & (按位与):只有对应的两个二进制位均为1时,结果才为1.例如,9&5,即00001001&000001 ...
 - 二分图最大匹配 Hopcroft-Karp算法模板
			
#include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> ...
 - 解决 Oracle 11g 不能导出空表的问题
			
--解决 Oracle 11g 不能导出空表的问题 --执行下面语句,查询数据库中的空表,同时产生分配空间.把生成的结果复制出来并执行. select 'alter table '||table_na ...
 - Linux RAR 安装和使用
			
描述:Linux默认自带ZIP压缩,最大支持4GB压缩,RAR的压缩比大于4GB. 流程:下载 >安装 > 使用 ------------------------------------- ...
 - ajax 跨域请求资源问题
			
其实相当的简单:只需要在服务端设置一下响应头: header("Access-Control-Allow-Origin: *");就可以了!! nice,有木有? 下面两句也可以带 ...
 - java调用dll-JNA
			
介绍 给大家介绍一个最新的访问本机代码的 Java 框架 —JNA . JNA(Java Native Access) 框架是一个开源的 Java 框架,是 SUN 公司主导开发的,建立在经典的 JN ...
 - sina微博上看到的关于android界面设计相关的规范
			
图片来自:http://photo.weibo.com/5174249907/wbphotos/large/mid/3777508610941685/pid/005EaCLFjw1emcpzdgrj9 ...
 - PHP 将MySQL数据导出csv
			
1.查询数据 // 假设得到的数据格式如下 $result = array( array( "orderid" = "1110111", "shopi ...
 - 转   如何使用JEE6快速开发简单的webservice
			
转自:http://www.iteye.com/topic/1135747,作者:红尘默岩 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作. 一.准备工作(以下为本实例使 ...