VR_C#拒绝摸鱼第三天

120 阅读2分钟

复习

switch练习题

string a = Console.ReadLine();
switch (a)
{
     case "星期一":
     case "星期二":
     case "星期三":
     case "星期四":
     case "星期五":
         Console.WriteLine("上课");
         break;
     case "星期六":
     case "星期天":
         Console.WriteLine("放假");
         break;
     default:
         Console.WriteLine("等于放假");
         break;
 }

循环语句

while(判断条件)

条件为真就进入循环体,直到为假跳出循环

死循环

while( 24 > 3 )
{
     Console.WriteLine(1);
}
int i = 1;
while (i > -1)
{
     Console.WriteLine(i);//1,0
     i--;//i最终的值为-1
}


int j = 1;//遍历1-10
while (j <= 10) 
{
     Console.WriteLine(j);
     j++;
}


//遍历1到100
int k = 0;
while(true)
{
     Console.WriteLine(k);
     if (k == 100)
         break;//break跳出当前整个循环   continue跳出当前一次循环,还会进行下一次循环
     k++;
}

练习题1

   1,
        //输入一个整数n,算出1+2+3+。。。+n的和
        Console.WriteLine("请输入一个大于0的整数:");
        int n = Convert.ToInt32(Console.ReadLine());
        int sum = 0;
        while(n>0)
        {
            sum += n;
            n--;
        }
        Console.WriteLine("1到该数的和为:{0}", sum);
        
  2,   
        //输出1-100之间的偶数
        for(int i = 1; i<=100; i++)
        {
            if (i % 2 == 0)
            {
                Console.Write(i+" ");
            }
        }
        
  3,
        //3n+1  输入一个数n,奇数则变为3n+1,偶数则变为一半,直到变为1,输出变换次数
        Console.WriteLine("请输入一个大于1的整数:");
        int n = Convert.ToInt32(Console.ReadLine());
        int m = 0;
        while (n > 1)
        {
            if (n % 2 != 0)
            {
                n = 3 * n + 1;
            }
            else
            {
                n = n / 2;
            }
            m++;
        }
        Console.WriteLine("变换次数为{0}", m);
        
  4,
        //输入学生个数,输入每个学生的年龄,计算出平均年龄,输出平均年龄,保留到小数点后两位
        Console.WriteLine("请输入学生个数:");
        int stu_num = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("请输入每个学生的年龄:");
        double avg_age = 0;
        for(int i = 0; i < stu_num; i++)
        {
            avg_age += Convert.ToInt32(Console.ReadLine());
        }
        Console.WriteLine("平均年龄为:{0}", (avg_age / stu_num).ToString("F2"));//Math.Round(ave, 2);  小数点超过两位可保留两位小数后
        
        

for循环

        for(; ; )//判断一直为真
        {
            Console.WriteLine(1);
        }
        

练习题2

        //输入两个整数,计算两数之间能被17整除的数之和
        Console.WriteLine("请输入两个整数:");
        int num1 = Convert.ToInt32(Console.ReadLine());
        int num2 = Convert.ToInt32(Console.ReadLine());
        if (num2 > num1)//换值
        {
            int temp;
            temp = num1;
            num1 = num2;
            num2 = temp;
        }
        int sum = 0;
        for (int i= num2; i <= num1; i++)
        {
            if (i % 17 == 0)
            {
                sum += i;
            }
        }
        Console.WriteLine("{0}与{1}之间能被17整除的数之和为:{2}", num2, num1, sum);
        

do..while循环

先执行一次再判断
与while循环的区别

求幂练习

        //输入整数a,n,计算a的n次方
        Console.WriteLine("请输入两个整数:");
        int a = Convert.ToInt32(Console.ReadLine());
        int n = Convert.ToInt32(Console.ReadLine());
        int m = 1;
        do
        {
            m *= a;
            n--;
        } while (n > 0);
        Console.WriteLine(m);

球反弹练习

        //球从某高度落下 弹回的高度为原来的一半。求弹10次的1高度和经过路程
        Console.WriteLine("输入球的初始化高度:");
        double hight = Convert.ToInt32(Console.ReadLine());
        double sum = hight;
        for(int i = 0; i < 10; i++)
        {
            hight /= 2;
            sum += 3 * hight;
        }
        Console.Write("此时高度为{0},经过路程为{1}",hight,sum);
        
      

水仙花练习

        //水仙花数,指一个三位数百位十位个位的三次幂的和为此数
        for(int n = 100; n < 1000; n++)
        {
            int a = n / 100;//百位
            int b = n / 10 % 10;//十位
            int c = n % 10;//个位
            if (n == Math.Pow(a,3) + Math.Pow(b, 3) + Math.Pow(c, 3))
            {
                Console.Write(n + " ");
            }
        }
        

打印三角形

        //用*输出一个可定义层数的三角形
        Console.WriteLine("输入三角形的层数:");
        int i, j;
        int n = Convert.ToInt32(Console.ReadLine());
        for (i = 0; i < n; i++)
        {
            for (j = n - i; j >1; j--)
            {
                Console.Write(" ");
            }
            for (int m = 1; m <= 2 * i + 1; m++)
            {
                Console.Write("*");
            }
            Console.WriteLine();
        }
        
 

打印菱形

        //输入层数,得出菱形
        Console.WriteLine("输入三角形的层数:");
        int n = Convert.ToInt32(Console.ReadLine());
        for (int i = 0; i < n; i++)
        {
            for(int j = 1; j < n - i; j++)
            {
                Console.Write(" ");
            }
            for(int a = 1; a <= 2 * i + 1; a++)
            {
                Console.Write("*");
            }
            Console.WriteLine();
        }
        for (int k = 1; k < n; k++)
        {
            for (int j = 0; j < k; j++)
            {
                Console.Write(" ");
            }
            for (int a = 1; a <= 2*n-2*k-1; a++)
            {
                Console.Write("*");
            }
            Console.WriteLine();
        }
        
        

九九乘法表

        //输出99乘法表
        for(int i = 1; i < 10; i++)
        {
            for(int j = 1; j <= i; j++)
            {
                Console.Write("{0}x{1}={2} ", i, j, i * j);
            }
            Console.WriteLine();
        }
        
        
        //倒三角,反着输出99乘法表
        for (int i = 9; i >=1; i--)
        {
            for (int j = 1; j <= i; j++)
            {
                Console.Write("{0}x{1}={2} ", i, j, i * j);
            }
            Console.WriteLine();
        }
        
        

百文买百鸡

        //有100文,公鸡单价3文,母鸡单价5文,小鸡单价2文,问公鸡母鸡小鸡各多少只刚好凑够100文
        Console.WriteLine("满足条件的情况为:");
        for (int r_num = 1; r_num <= 100/3; r_num++)//r不超过33,100/
        {
            for (int h_num = 1; h_num <= 100/5; h_num++) //h不超过20
            {
                for (int c_num = 1; c_num <= 100/2; c_num++) //c不超过50
                {
                    if (100 == r_num * 3 + h_num * 5 + c_num * 2&&r_num+h_num+c_num<=100)
                    {
                        Console.WriteLine("公鸡数量为:{0}只,母鸡数量为:{1}只,小鸡数量为:{2}只", r_num, h_num, c_num);
                    }
                }
            }
        }