c#案例 8-15

120 阅读1分钟

1.输出整数n,计算1++..+n的和

        Console.WriteLine("请输入一个整数");
        int n = Convert.ToInt32(Console.ReadLine());
        int sum = 0; //求和
        int j = 1;
        while (j <= n)
        {
            sum = sum + j;
            j++;
        }
        Console.WriteLine("1到{0}的结果相加为:{1}", n, sum);

2.输出1-100所有的整数

``` int i = 1;
    while (i<=100)
    {
        if (i % 2 == 0)
        {
            Console.WriteLine(i);
        }
        i++; //判断完之后进行i的自增
    }

3.键盘输入大于1的整数,为偶数的时候除以2,为奇数的时候3*n+1,到最后的结果为1,算偶数的时候转了多少次,奇数转了多少次

```   
Console.WriteLine("请输入一个大于1的自然数");
     int n = Convert.ToInt32(Console.ReadLine());

     int countJ = 0;
     int countO = 0;
     if (n < 1)
     {
         Console.WriteLine("您输入的不合法");
     }
     else
     {
         while (n != 1)
         {
             if (n % 2 == 0)
             {
                 //为偶数的情况
                 n = n / 2;
                 countO++;
             }
             else
             {
                 //为奇数的情况
                 n = n * 3 + 1;
                 countJ++;
             }
         }
     }
     Console.WriteLine("奇数使用了{0}次,偶数使用了{1}次,一共使用了{2}次", countJ, countO, countJ+ countO)
## 4.输入学生的个数,并输入每位同学的年龄,计算他们年龄的平均年龄,并保留俩位小数

    `` `Console.WriteLine("请输入学生的个数");
        int studentNum = Convert.ToInt32(Console.ReadLine());
        int i = 1;
        double avgAge = 0;
        int sumAge = 0;
        while (i<=studentNum)
        {
            Console.WriteLine("请输入第{0}个同学的年龄",i);
            int age = Convert.ToInt32(Console.ReadLine());
            sumAge = sumAge + age;
            i++;
        }
        avgAge = sumAge*1.0 / studentNum;
        Console.WriteLine("{0}个学生的平均年龄为:{1}", i-1,Math.Round(avgAge,2));

5.输出俩个正数n和m,计算m和n之间所有能被17整除得数的和,并输出和

``` Console.WriteLine("请输入第一个正整数");
    int num1 = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("请输入第二个正整数");
    int num2 = Convert.ToInt32(Console.ReadLine());
    int sum = 0;
    //做一个值的交换,保证num1是最小的
    int temp2 = num1;
    if (num1 > num2)
    {
        num1 = num2;
        num2 = temp2;
    }
    for (int i = num1; i <= num2; i++)
    {
        if (i % 17 == 0)
        {
            Console.WriteLine(i);
            sum = sum + i;
        }
    }
    Console.WriteLine("{0}到{1}能被17整除的数的和为:{2}", num1, num2, sum);
## 6.输入一个整数a,和一个正整数n,计算乘方a的n次方

Console.WriteLine("请输入一个整数"); int a3 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入一个正整数"); int n3 = Convert.ToInt32(Console.ReadLine());

    *//*double result = System.Math.Pow(a3, n3);*//*
    int sum = 1;
    for (int i = 1; i <= n3; i++)
    {
        sum = sum * a3; //
    }
    *//*Console.WriteLine("乘方{0}的{1}次方为:{2}", a3, n3, result);*//*
    Console.WriteLine("乘方{0}的{1}次方为:{2}", a3, n3, sum);
## 7.计算求的下落高度


![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4a3f6bffc5374f5c8ce5b7367f10ac93~tplv-k3u1fbpfcp-watermark.image?)

```     Console.WriteLine("请输入球的初始高度");
        float height = Convert.ToInt32(Console.ReadLine());
        double jinguoHigh = 0; //球经过的长度
        //循环次数为10次
        for(int i = 1; i <= 2; i++)
        {
            jinguoHigh = height + jinguoHigh; // 计算的是初始高度和球每次下落的高度
            height = height / 2; //计算的是球每次弹回来的距离
            jinguoHigh = jinguoHigh + height; //+加上每次球弹回来的高度
        }
        Console.WriteLine("反弹的高度为{0}米", jinguoHigh);

8.求水仙花数,一辈子都记得!!!

        int ge, shi, bai, d;
        for (d = 100; d <= 999; d++)
        {
             ge = d % 100 %10 ;  //获取个位
             shi = d / 10 % 10;   //获取十位
             bai = d / 100; //获取百位

            if (bai * bai * bai + shi * shi * shi + ge * ge * ge == d)
            {
                Console.WriteLine("水仙花数为:{0}", d);
                continue;
            }
        }