C#中,switch 语句中case后面必须跟上一个break(因为可以多个case跟同一个语句)
C#中,switch 语句中case后面必须跟上一个break(因为可以多个case跟同一个语句)
using System;
namespace _017_编程题
{
class Program
{
static void Main(string[] args)
{
//// a b c d
//int a = Convert.ToInt32(Console.ReadLine());
//int b = Convert.ToInt32(Console.ReadLine());
//int c = Convert.ToInt32(Console.ReadLine());
//int d = Convert.ToInt32(Console.ReadLine());
//int max = a, min = a;
//if (max < b)
//{
// max = b;
//}
//if (max < c)
//{
// max = c;
//}
//if (max < d)
//{
// max = d;
//}
//if (min > b)
//{
// min = b;
//}
//if (min > c)
//{
// min = c;
//}
//if (min > d)
//{
// min = d;
//}
//Console.WriteLine("最大值是{0},最小值是{1}", max, min);
//int a = Convert.ToInt32(Console.ReadLine());
//int b = Convert.ToInt32(Console.ReadLine());
//int op = Convert.ToInt32(Console.ReadLine());
//int res = 0;
//switch (op)
//{
// case 0:
// res = a + b;
// Console.WriteLine(res);
// break;
// case 1:
// res = a - b;
// Console.WriteLine(res);
// break;
// case 2:
// res = a * b;
// Console.WriteLine(res);
// break;
// case 3:
// double res2 = a * 1.0 / b;
// Console.WriteLine(res2);
// break;
//}
int x = 1, a = 0, b = 0;
switch (x)
{
case 0: b++; break;
case 1: a++; break;
case 2: a++; b++; break;
}
Console.WriteLine("a=" + a + " b=" + b);
}
}
}
总结错误,要认清if和else if的区别,尽量减少BUG的出现
case后面有语句必须加上break,
如:
case1: c=a+b
break;
case1:
case2:
case3:
c=a+b
break;
这种情况不用每个case结尾都加break;
using System;
namespace _0026_编程题__0_3_
{
internal class Program
{
private static void Main(string[] args)
{
//让⽤户输⼊两个整数,然后再输⼊0-3之间的⼀个数,0代表加法,1代表减法,2代表乘法,
//0代表加法,1代表减法,2代表乘法,3代表除法,计算这两个数字的结果.
Console.WriteLine("输入俩个数");
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("输入0-3之间的⼀个数,0代表加法,1代表减法,2代表乘法");
int c = Convert.ToInt32(Console.ReadLine());
switch (c)
{
case 0:
Console.WriteLine(a + "加" + b + "等于" + (a + b));
break;
case 1:
Console.WriteLine(a + "减" + b + "等于" + (a - b));
break;
case 2:
Console.WriteLine(a + "乘" + b + "等于" + (a * b));
break;
}
}
}
}
重复声明变量,变量是不可以重名的
输入多个数,找出最大最小
只有case语句后面没有东西或者语句时case才能并列写
第四十七课 编程题
1. 输入4个整数,输出最大数和最小数。
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
int c = Convert.ToInt32(Console.ReadLine());
int d = Convert.ToInt32(Console.ReadLine());
int temp = a; int mini = a;
if (a != b && b != c && c != d && d != a)
{
if (temp < b)
{
temp = b;
}
if (temp < c)
{
temp = c;
}
if (temp < d)
{
temp = d;
}
if (mini > b)
{
mini = b;
}
if (mini > c)
{
mini = c;
}
if (mini > d)
{
mini = d;
}
Console.WriteLine("最大值:{0},最小值:{1}", temp, mini);
}
没啥说的~飘过。
2. 输入两个整数,再输入0-3之间的一个整数,0代表加法,1代表减法,2代表乘法,3代表除法,计算这两个数的结果。
Console.WriteLine("输入两个整数");
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("输入0-3之间的整数");
int c = Convert.ToInt32(Console.ReadLine());
if (c >= 0 && c <= 3) {
switch (c)
{
case 0:
Console.WriteLine(a + b);
break;
case 1:
Console.WriteLine(a - b);
break;
case 2:
Console.WriteLine(a * b);
break;
default:
Console.WriteLine(a / b);
break;
}
}
注:我测试了一下
case后面的数字标注的几,按几号键就会输出相对性的结果,所以还是限制一下数字范围,如果没有限制数字范围的情况下,那default就有意思了,出了0,1,2意外的数字都默认为除法,哈哈。