04373 C++程式設計 2019版 第一章習題五、程式設計題
阿新 • • 發佈:2021-07-09
題目:
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; }
輸出: