• 常见简单算法


    数组:
    所有的水仙花数
    所有的奇数
    所有数组元素求和、求乘积
    阶乘
    99乘法表
    所有的质数之和(使用计数的方式判断
    所有的质数(使用计数的方式判断
    所有的质数(使用查找的方式判断
    判断该数是不是质数
    判断该数是不是质数(使用查找的方式
    是否存在水仙花数
    所有奇数之和
    所有数字之和

    循环指定的次数:

    for (int i = 100; i <= 200; i++)
    {
        //判断i是不是质数,如果是就输出
        int num = 0;//计数
        for (int j = 1; j <= i; j++)
        {
            if (i % j == 0)
            {
                num++; //找到了一个数能整除i,计数加1
            }
        }
        if (num == 2)
        {
            Console.WriteLine(i);// 说明i是质数,输出它
        }
    }


    遍历-查找问题

    for (int i = 100; i <= 200; i++)
    {
        //判断i是否是质数,这是一个查找问题
        bool isFind = false;
        for (int j = 2; j < i; j++)
        {
            if (j % i == 0)
            {
               isFind = true;
               break;
            }
        }
        if (!isFind)
        {
            Console.WriteLine(i);//没有找到,i是质数,输出它
        }
    }

    获取用户正确的输入:

    int n; //用于保存用户的输入
    while(true) // 用于永远无法退出这个循环,除非输入正确
    {
        Console.Write("请输入一个大于0的奇数:");
        n = int.Parse(Console.ReadLine());
        if (n > 0 && n % 2 != 0)
        {
            break; //用户输入正确,结束无休止的循环
        }
        else
        {
            Console.Write("输入有误,按回车键后重新输入"); // 提示错误信息
            Console.ReadLine(); // 让程序暂停,等待用户按下回车键
            Console.Clear(); // 控制台清屏
            //后面已没有代码,将进入下一次循环
        }
    }
    //循环结束后,变量n中一定保存的是一个大于0的奇数,否则,他根本无法退出循环
    Console.Write("你的输入是:" + n);
    
    
    #region 描述内容
    // 代码
    #endregion
    
    控制台清屏
    Console.Write("Hello");
    Console.Clear(); //当程序运行到这条语句时,控制台当前的内容会被清空
    Console.Write("World")

    修改数组对应下标的数字,若下标超出范围,要给出错误提示,并让用户重新输入

    判断该数字在数组中是否存在
    输出数组中最小的数
    输出数组中最大的数

    交换排序

    for (int i = 0; i < nums.Length - 1; i++)
    {
        //在 i-(nums.Length-1) 范围内,将该范围内最小的数字提到i
        for (int j = i + 1; j < nums.Length; j++)
        {
            if (nums[i] > nums[j])
            {
                //交换
                int temp = nums[i];
                nums[i] = nums[j];
                nums[j] = temp;
            }
        }
    }

    冒泡排序:

    for (int i = nums.Length - 1; i > 0; i--)
    {
        //在 0-i 范围内,将该范围内最大的数字沉到i
        for (int j = 0; j < i; j++)
        {
            if (nums[j] > nums[j+1])
            {
                //交换
                int temp = nums[j];
                nums[j] = nums[j+1];
                nums[j+1] = temp;
            }
        }
    }

    选择排序:

    for (int i = 0; i < nums.Length - 1; i++)
    {
        //在 i-(nums.Length-1) 范围内,将该范围内最小的数字提到i
        //1. 首先找到 i - (nums.Length-1) 范围内的最小数所在的下标
        int index = i; //先假设最小数的下标是i
        for (int j = i + 1; j < nums.Length; j++)
        {
            if (nums[j] < nums[index])
            {
                //发现了更小的数
                index = j;//记录下标
            }
        }
        //2. 然后将nums[i]和nums[index]的值交换
        int temp = nums[i];
        nums[i] = nums[index];
        nums[index] = temp;
    }

    数组进行排序
    为该数组每一项赋值
    若输入的长度不正确,则提示重新输入,否则,建立该长度的数组

  • 相关阅读:
    SQLPLUS使用及Oracle表空间设定自动扩展
    3.21 Go之多核并行化
    3.21 Go之锁(二)
    3.12 Go之通道关闭后继续使用
    3.12 Go之并发打印(借助通道实现)
    3.11 Go之RPC(模拟远程调用过程)
    3.23 Go之反射
    3.22 Go之等待组
    3.21 Go之锁(一)
    3.22 Go之CSP:通信顺序进程
  • 原文地址:https://www.cnblogs.com/newcode/p/9229956.html
Copyright © 2020-2023  润新知