练习题(if else,switch case)
第一题:
打车起步价8元(3KM以内)
超过3KM,每公里1.2元
超过5KM,每公里1.5元
static void Main(string[] args)
{
while (true)
{
double i;//打车里程不一定都是整数
Console.WriteLine("打车路程:");
i = Convert.ToDouble(Console.ReadLine());
if (i<=3&&i>0)//里程的控制条件,小于3KM起步价
{
Console.WriteLine("打车费8元");
}
else if (i>3&&i<=5)//这个范围1.2元
{
i = 8 + (i - 3) * 1.2;
Console.WriteLine("打车费"+i+"元");
}
else if (i>5)//大于5KM的1.5元
{
i = 8 + 2*1.2+(i - 5) * 1.5;
Console.WriteLine("打车费"+i+"元");
}
else
{
Console.WriteLine("找茬?");
}
Console.ReadLine();
第二题:结婚。 美女征婚,问有没有房,有没有车,有没有钱,满足三条结婚,其一不满足fasle 第一种写法是三个条件一起出,第二中写法是一问一答
//输入:随机取值,列出各种情况
//if限定条件,同时满足,输出。。。,不满足直接pass
static void Main(string[] args)
{
while (true)
{
Random r = new Random();
int a,b,c;
a=r.Next(0,2);//随机取数0,1
b=r.Next(0,2);
c=r.Next(0,2);
Console.WriteLine("美女征婚,请回答以下问题。你有房吗?你有钱吗?你有车吗?");
switch (a)//a取值的结果
{
case 0://a取零的时候
Console.WriteLine("你有房吗?:有");
break;//跳出switch
case 1:
Console.WriteLine("你有房吗?:没有");
break;
default:
Console.WriteLine("耍我玩呢?");
break;
}
switch (b)
{
case 0:
Console.WriteLine("你有钱吗?:有");
break;
case 1:
Console.WriteLine("你有车吗?:没有");
break;
default:
Console.WriteLine("耍我玩呢?");
break;
}
switch (c)
{
case 0:
Console.WriteLine("你有车吗?:有");
break;
case 1:
Console.WriteLine("你有钱吗?:没有");
break;
default:
Console.WriteLine("耍我玩呢?");
break;
}
if (a==0&&b==0&&c==0)//三个条件同时满足
{
Console.WriteLine("我们结婚吧");
}
else
{
Console.WriteLine("下一个");
}
Console.ReadLine();
}
——————————————————————————————————————————————————————————————————
if语句的嵌套,一层一层的套,
第一个if问第一个问题,如果满足条件套第二个if,以此类推。。。
static void Main(string[] args)
{
while (true)
{
string s,b,c;
Console.WriteLine("女神征婚,回答问题你有车吗?:");
s = Console.ReadLine();
if (s=="有")
{
Console.WriteLine("那你有车吗?:");
b = Console.ReadLine();
if (b=="有")
{
Console.WriteLine("那你有钱吗?:");
c = Console.ReadLine();
if (c=="有")
{
Console.WriteLine("我们结婚吧");
}
else
{
Console.WriteLine("洗洗睡吧");
}
}
else
{
Console.WriteLine("洗洗睡吧");
}
}
else
{
Console.WriteLine("洗洗睡吧");
}
Console.ReadLine();
}
第三题:输入月份,输入几号,得出是今年的第几天
这是个switch的练习题。
//先声明了1月到11月每月的天数
//输入第几个月的第几天
//按公式,把之前的月份天数加起来,得出今年的第几天
//这时还没学习Datetime 写的的确有点麻烦,不过重在练习理解switch的用法
static void Main(string[] args)
{
while (true)
{
int m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 30, m6 = 30, m7 = 31, m8 = 31, m9 = 30, m10 = 31, m11 = 30;
int m, d;
Console.WriteLine("输入月份:");
m = Convert.ToInt32(Console.ReadLine());
if ((m <= 0 || m > 12))
{
Console.WriteLine("输入错误");
}
else
{
Console.WriteLine("输入第几天:");
d = Convert.ToInt32(Console.ReadLine());
if (d <= 0 || d > 31)
{
Console.WriteLine("输入错误");
}
else
{
switch (m)
{
case 1:
Console.WriteLine("第" + d + "天");
break;
case 2:
d = d + m1;
Console.WriteLine("第" + d + "天");
break;
case 3:
Console.WriteLine("第" + (d + m1 + m2) + "天");
break;
case 4:
Console.WriteLine("第" + (d + m1 + m2 + m3) + "天");
break;
case 5:
Console.WriteLine("第" + (d + m1 + m2 + m3 + m4) + "天");
break;
case 6:
Console.WriteLine("第" + (d + m1 + m2 + m3 + m4 + m5) + "天");
break;
case 7:
Console.WriteLine("第" + (d + m1 + m2 + m3 + m4 + m5 + m6) + "天");
break;
case 8:
Console.WriteLine("第" + (d + m1 + m2 + m3 + m4 + m5 + m6 + m7) + "天");
break;
case 9:
Console.WriteLine("第" + (d + m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8) + "天");
break;
case 10:
Console.WriteLine("第" + (d + m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9) + "天");
break;
case 11:
Console.WriteLine("第" + (d + m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10) + "天");
break;
case 12:
Console.WriteLine("第" + (d + m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11) + "天");
break;
default:
Console.WriteLine("输入错误");
break;
}
Console.ReadLine();
}