1. 程式人生 > 其它 >04373 C++程式設計 2019版 第一章習題五、程式設計題

04373 C++程式設計 2019版 第一章習題五、程式設計題

題目:

1、編寫一個程式,將從鍵盤輸入的n個字串儲存在一個一維陣列A中。在輸入字串之前,先輸入n的值。要求,陣列A需要動態申請空間,程式執行結束前再釋放掉。

#include <iostream>

using namespace std;

int main(){
    cout<<"請輸入字串個數:";
    int n;
    //輸入n
    cin>>n;
    //動態申請字串陣列,以n作為陣列長度
    string *A = new string[n];
    for(int i=0;i<n;i++){
        cout<<"請輸入第"<<i+1<<"個引數:";
        cin>>A[i];
    }
    cout<<"開始列印陣列"<<endl;
    for(int j=0; j<n; j++){
        cout<<"A["<<j<<"]="<<A[j]<<endl;
    }
	//釋放陣列記憶體
    delete []A;
    return 0;
}

輸出:

2、在題目1的基礎上,輸出n個字串中最長的和最短的串,計算n個串的平均長度並輸出結果。

#include <iostream>

using namespace std;

int main(){
    cout<<"請輸入字串個數:";
    int n;
    cin>>n;
    string *A = new string[n];
    for(int i=0;i<n;i++){
        cout<<"請輸入第"<<i+1<<"個引數:";
        cin>>A[i];
    }
    cout<<"開始列印陣列"<<endl;
    //最長串
    string longest="";
    //最短串
    string shortest="";
    //總長度
    int totalLen=0;

    for(int j=0;j<n;j++){
        cout<<"A["<<j<<"]="<<A[j]<<endl;
        //統計總長度
        totalLen+=A[j].length();
        //首次迴圈直接為最長串與最短串設定當前迴圈字串
        if(longest==""){
            longest=A[j];
        }
        if(shortest==""){
            shortest=A[j];
        }
        //判斷更新最長與最短串
        if(longest.length()<A[j].length()){
            longest=A[j];
        }
        if(shortest.length()>A[j].length()){
            shortest=A[j];
        }
    }
    cout<<"最長串:"<<longest<<"\t最短串:"<<shortest<<"\t總長度:"<<totalLen<<"\t平均長度:"<<totalLen/n<<endl;
    delete []A;
    return 0;
}

輸出: