1. 程式人生 > >C ++ 陣列 | 尋找最大、最小值,陣列(Array)_1

C ++ 陣列 | 尋找最大、最小值,陣列(Array)_1

目錄

尋找最大、最小值

陣列


尋找最大、最小值

對於這個程式設計測驗,我們將找到使用者將輸入的15個數字的最小值和最大值以及平均值。

#include <iostream>

int main()
{
    int userInput = 0;
    int maxNumber = 0;
    int minNumber = 100;
    int sumTotal = 0;
    float average = 0; 

    //get the numbers from the user
    for(int i = 0; i < 15; i++)
    {
        std::cout << "Enter a number: ";
        std::cin>>userInput;
        std::cout << userInput << "\n";
        if(userInput > maxNumber)
        {
            maxNumber = userInput;
        }
        if(userInput < minNumber)
        {
            minNumber = userInput;
        }
        sumTotal = sumTotal + userInput;
    }
    std::cout << "Maximum number = " << maxNumber << "\n";
    std::cout << "Minimum number = " << minNumber << "\n";
    average = sumTotal / 15.0;
    std::cout << "Average = " << average << "\n";
    return 0;
}

執行輸入:

14 23 88 97 60 54 33 26 100 97 55 63 89 78 69

執行結果: 

Maximum number = 100

Minimum number = 14

Average = 63.0667

陣列

陣列包含在C ++程式語言中,就像它們在其他語言中一樣。 這意味著你們中的許多人已經熟悉陣列。

因此,學習使用陣列是一個很好的訓練。我應該告訴你一件事:在C ++中,您不需要學習陣列。你可以使用向量而不是使用陣列。 向量比陣列更強大/更通用。但這裡我還是希望能夠學好陣列:

C++ 陣列可以宣告為:

variableType arrayName [ ] = {variables to be stored in the array};

或者像:

variableType arrayName[array size]

 有關陣列的詳細資訊點選這裡

我們可以通過標識特定的索引來訪問陣列中的值。

variableType arrayName[ index number ]

 用這個程式練習陣列。例項化 int 陣列:

int userInput[40];

我們來一起看程式碼:

 #include <iostream>
 #include <stdio.h>

 int main()
 {
     int searchKey = 0;
     int searchArray[10] = {324,4567,6789,5421345,7,65,8965,12,342,485};
     int location = 0;

     while(1)
     {
         std::cout<<"Enter an integer ('-1' to quit): ";
         scanf("%d", &searchKey);
         std::cout<< searchKey<<"\n";
         if(searchKey == -1)
         {
             break;
         }
         for(int i = 0; i < 10; i++)
         {
             if(searchKey == searchArray[i])
             {
                 location = i;
                 break;
             }
             location = -1;
         }
         if(location != -1)
         {
             std::cout<<searchKey<<" is at location "<<location<<" in the array.\n";
         }
         else
         {
             std::cout<<searchKey<<" is not in the array.\n";
         }
    }
     return 0;
 }

輸入-1執行結果:

輸入陣列內索引為0的數字:

 輸入不在陣列內的數字:

程式碼解析:

1。scanf("%d", &searchKey); 這裡又有一個允許使用者輸入的函式,之前 std::cin 還用嗎??

答:在C++裡面,cin是輸入流,scanf是標準輸入。在方便性上,cin優於scanf,舉例:

int a;
cin>>a;
scanf("%d",&a);

但如果是輸入資料很大的情況下,建議不要用cin,因為它所佔用的時間十分長。例如 for(int i=1;i<=1000000;i++) cin>>a[i]; 可能會用掉比 scanf 多很多倍的時間。所以,一些單個的輸入可以用 cin,但迴圈之類的輸入最好用 scanf() 。 


程式設計中最沒用的東西是原始碼,最有用的東西是演算法和資料結構。