【第三天】03c#今日小结

1昨日作业

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _01作业
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //转换字符串
            ////Convert.ToString();
            ////字符拼接
            ////0.0 字符串
            ////parse,tryparse

            ////Convert.ToInte();
            ////int.Parse(Console.ReadLine());

            ////如果条件成立执行1 如果不成立执行else1
            ////IF () { }else { }

            ////如果多个判断 .else if ().else
            ////if.else if.else

            ////if (args.Length == 0 )
            ////{
            ////    if (true)
            ////    {
            ////    }
            ////}


            #region 个税
            ////五险一金: 医疗保险、养老保险、失业保险、失业保险、工伤保险、公积金
            ////超过5000, 起征点   “五险”金 一个税
            ////超过5000
            ////个税= 5000
            Console.WriteLine("请输入你的工资:");
            double gz = Convert.ToDouble(Console.ReadLine());//总工资
            double se = 0; //个税
            if (gz - 5000 <= 0)
                se = (gz - 5000) * 0 - 0;
            else if (gz > 5000 && gz <= 8000)
                se = (gz - 5000) * 0.03 - 0;
            else if (gz > 8000 && gz <= 17000)
                se = (gz - 5000) * 0.1 - 210;
            else if (gz > 17000 && gz <= 30000)
                se = (gz - 5000) * 0.2 - 1410;
            else
                se = (gz - 5000) * 0.45 - 15160;

            double shuihou = gz - 500 - se; //税后工资
            Console.WriteLine($"总工资为{gz},个税为{se},税后{shuihou}");
            #endregion


            #region 身体质量
            Console.WriteLine("请输入你的身高cm");
            double height = double.Parse(Console.ReadLine());//获取身高
            double weight = double.Parse(Console.ReadLine());//获取体重
            Console.WriteLine(height / 100 * 2);//标准体重
            double weight1 = (height - 100) * 0.9;//获取当前体重
            Console.WriteLine("请输入一个数字");
            if (Math.Abs(weight - weight1) < 10) //Math数学 包含一些关于数字的计算方法  abs() 绝对值
                Console.WriteLine("身体健康");
            else
                //Math.Abs(weight - weight1) > 10
            if (weight - weight1 > 10)
                Console.WriteLine("偏胖");
            else
                Console.WriteLine("偏胖");
            #endregion


            #region 三个数的求最大值
            Console.WriteLine("请输入第一个数:");
            int num1 = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入第二个数:");
            int num2 = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入第三个数:");
            int num3 = int.Parse(Console.ReadLine());
            int max = 0; //代表最大值

            //if (num1>num2)
            //{
            //    max = num1;
            //    Console.WriteLine("最大值为"+max);
            //}
            //if (max < num3)
            //{
            //    max = num3;
            //}
            //Console.WriteLine(max);

            ////三目运算符  条件成立? 后面的: 不成立的:后面
            ////max = num1 > num2 ? num1 : num2;
            ////max = maxnum1 > num2 ? num1 : num2;  表示如果num1>num2取num1的值;如果不大于等num2,max取num2
            ////maxnum1num2取大的值
            max = num1 > num2 ? num1 : num2;
            Console.WriteLine(max);
            #endregion


            Console.ReadKey();
        }
    }
}

三目运算符

三目运算符  条件成立? 后面的: 不成立的:后面
max = num1 > num2 ? num1 : num2;
max = maxnum1 > num2 ? num1 : num2;  表示如果num1>num2取num1的值;如果不大于等num2,max取num2
maxnum1num2取大的值

2swich

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _02switch
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //switch 当条件是有限的情况下,可以使用switch进行一一对比
            //switch(变量)
            //switch 是单种情况
            //case break; 跳出switch选择判断
            //default: 默认情况 也就是其余的情况
            int age = 60;
            //switch (age) 根据变量进行判断
            switch (age)
            {
                //多个条件要执行的代码一样 可以写在一起
                case 0:
                case 10:
                    Console.WriteLine("少年当自强");
                    break;
                case 18:
                    Console.WriteLine("成年了");
                    break;
                case 30:
                    Console.WriteLine("而立之年");
                    break;
                case 40:
                    Console.WriteLine("40不惑");
                    break;
                case 50:
                    Console.WriteLine("50知天命");
                    break;
                case 60:
                    Console.WriteLine("60耳顺");
                    break;
                case 70:
                    Console.WriteLine("70从心所欲");
                    break;
                case 80:
                    Console.WriteLine("80古来稀");
                    break;
            }


            //用月份的分多少天,要判断是否为天
            //1 3 5 7 8 10 12 31天
            //4 6 9 11 30天
            Console.WriteLine("请输入月份:");
            int month = int.Parse(Console.ReadLine());//代表月份
            int year = 2024;
            switch (month)
            {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    Console.WriteLine($"{month}月有31天");
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    Console.WriteLine($"{month}月有30天");
                    break;
                case 2:
                    //(year%4==0 && year%100 !=0) || (year%400==0) 对能被整除;%100!=0 不能被100整除
                    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
                    {
                        Console.WriteLine($"闰年是闰年,2月是29天");
                    }
                    else
                    {
                        Console.WriteLine($"闰年是平年,2月是28天");
                    }
                    break;
                default:
                    break;
            }


            //出租车价格计算
            //0-2公里 起步价8元
            //2-12公里 每公里1.6元
            //12公里以上 每公里2.4元
            //输入一个路程计算费用
            double f = 13;
            double price = 0;
            if (f <= 2) //俩公里内 起步价
            {
                price = 8;
            }
            else if (f <= 12)
            {
                price = 8 + (f - 2) * 1.5;
            }
            else
            { // 超过12公里 前2公里是8元,中间10公里10*1.5 超过12公里(f-12)*2
                price = 8 + 10 * 1.5 + (f - 12) * 2;
            }
            Console.WriteLine(price);


            Console.ReadKey();
        }
    }
}

switch 当条件是有限的情况下,可以使用switch进行一一对比
switch(变量)
switch 是单种情况
case break; 跳出switch选择判断
default: 默认情况 也就是其余的情况

switch (age) 根据变量进行判断

3循环

循环:我们需要重复执行一些代码的时候,可以把重复代码写一遍,添加循环体即可
             循环三要素:
             循环初始值:从什么开始 int i = 0
             循环条件:从1开始到i<5的最大值能到4
             循环递增值:i++ 每次加1
             循环体:{}

             常用的循环结构 for、while、do..while

for循环

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _03循环
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //for的结构


            /// 循环:我们需要重复执行一些代码的时候,可以把重复代码写一遍,添加循环体即可
            /// 循环三要素:
            /// 循环初始值:从什么开始 int i = 0
            /// 循环条件:从1开始到i<5的最大值能到4
            /// 循环递增值:i++ 每次加1
            /// 循环体:{}

            /// 常用的循环结构 for、while、do..while
            //for的结构
            //先执行int i=0; 先赋值,再比较i是否小于5,如果小于5,再去执行{}循环体,最后i++
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine("--------"+i);
            }

            /// 循环也可以把定义写在for上面,也可以把递增写在循环体里,建议都写在for()小括号里面
            int j = 0;
            for (; j < 5;)
            {
                Console.WriteLine("----------" + j); //0 1 2 3 4
                j++;
            }
            Console.WriteLine("******" + j); //5

            /// 通过修改初始值达到循环次数
            for (int i = 8; i < 18; i++) //如果想循环10次,更改初始值
            {
                Console.WriteLine("********" + i);
            }

            /// 通过修改条件表达式达到循环次数
            for (int i = 0; i < 10; i++) //如果想循环10次
            {
            }

            /// 通过修改递增表达式达到循环次数
            for (int i = 0; i < 20; i += 2) //如果想循环10次
            {
                Console.WriteLine("+++++++" + i);
            }

            /// 从大到小进行输出:
            for (int i = 9; i > 0; i--)
            {
                Console.WriteLine("----------" + i);
            }

            /// 无限循环
            //for (int i = 1; i > 0; i--)
            //{
            //    //初始值1,i--不成立,执行循环体1次,再执行i--,变成0,有比小,会一直循环下去
            //    Console.WriteLine("本来不执行一次");
            //}


            /// 例子1:计算0到100之间的和 0 + 1 + 2 + 3...100
            int sum = 0;
            for (int i = 0; i < 101; i++) //从0 1 2 3...100
            {
                sum = sum + i;
            }
            /*
            i=0 sum=0 sum=0+0
            i=1 sum=0+1 sum=1
            i=2 sum=1+2 sum=3
            i=3 sum=3+3 sum=6
            ...
            */
            Console.WriteLine("总和=" + sum);


            /// 例子2:计算偶数和
            int sum1 = 0;
            for (int i = 0; i < 101; i += 2)
            {
                sum1 += i;
            }
            Console.WriteLine(sum1);


            /// 例子3:求奇数和
            int sum2 = 0;
            for (int i = 0; i < 101; i++)
            {
                if (i % 2 != 0) //满足是奇数的时候
                {
                    sum2 += i; //把奇数添加进来
                }
            }
            Console.WriteLine(sum2);


            /// 例子4:猴子摘20桃,每次吃一半,一共能吃多少个(循环求解)


            Console.ReadLine();
        }
    }
}

循环停止和跳过&&十进制和二进制之间的转换

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _04
{
    class Program
    {
        static void Main(string[] args)
        {
            
                for (int i = 0; i < 10; i++)
                {
                    if (i == 5)
                    {
                        break;//跳出当前循环,后续的循环就不再执行
                    }
                    Console.WriteLine("----------" + i);//0 1 2 3 4
                }

                for (int i = 0; i < 10; i++)
                {
                    if (i == 5)
                    {
                        continue;//中断本次循环,继续后续的循环
                    }
                    Console.WriteLine("++++++++++" + i);//0 1 2 3 4 6 7 8 9
                }

                for (int i = 0; i < 10; i++)
                {
                    if (i == 5)
                    {
                        //return;//跳出当前方法体 整个方法后续代码都不再执行 包含Console.ReadKey(
                    }
                    Console.WriteLine("??????????" + i);//0 1 2 3 4
                }

                //F5 运行
                //Ctrl+F5 运行不调试
                //F12 可以底层的实现方式


                ////10进制 0 1 2 3 4 5 6 7 8 9
                ////2进制 0 1
                ////10进制转成二进制
                ////15 转成二进制 1111
                //// 1111 转成10进制 1*2^3+1*2^2+1*2^1+1*2^0=15
                ////63 转成二进制 111111  2^5 +2^4 +2^3 +2^2 +2^1 +2^0 , 111111

                Console.ReadKey();
            }
        }
    }

while循环

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _05
{
    class Program
    {
        static void Main(string[] args)
        {
            int count = 0; //初始值
            while (count < 5) // 循环结束条件, 当count小于5 重复执行{}里面代码,直到条件不成立。
            {
                Console.WriteLine("++++++" + count);
                count++; //循环递增量
            }


            while (true)
            {
                Console.WriteLine("00000000000000000000000000");
                break;
            }

            // 用户必须输入你很帅 才可以停止输入 否则一直要求输入
            // 不确定次数 使用while 死循环
            while (true)
            {
                Console.WriteLine("请输入你对我的印象:");
                string s = Console.ReadLine();//读取用户输入
                if (s == "你很帅")
                {
                    //跳出循环
                    Console.WriteLine("我很满意");
                    break;
                }
            }
        }
    }
}

一个有趣的例题

     // 例子5、目标是搬砖500个,第一次搬砖1个,后面因为更加熟练,每次递增一倍,1、2、4、8、16.32 64 128 256..,搬砖500个需要多少次
     int number = 1;//初始化第一次搬砖个数
     int sum11 = 0;//搬砖总数
     int count = 0;//搬砖次数
     for (sum11= 1; sum11<=500;)
     {
         count++;//每经过一次循环 记录搬砖的次数

         sum11 += number;// 每次搬砖数叠加一起记录总个数 ,总个数满足<=500 循环就结束
         number *= 2;//每次熟练度翻倍
     }
     Console.WriteLine("搬砖次数"+count);
     //第一次循环  count=1  sum11=1  下次搬砖 number *= 2   number=2
     //第二次循环  count=2  sum11 =3   下次搬砖 number *= 2   number =4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值