常見簡單算法


數組:
所有的水仙花數
所有的奇數
所有數組元素求和、求乘積
階乘
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;
}

 

數組進行排序
為該數組每一項賦值
若輸入的長度不正確,則提示重新輸入,否則,建立該長度的數組


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM