b001: 最後倒數
輸入1個正整數n,依所輸入的n再輸入n個整數,倒著印出,例如:
輸入的n為4, 接著的4個數為 2 4 6 8 則印出 8 6 4 2
須宣告整數n、陣列a[10] ,i,因題目規定最多10個:int n, a[10],i;
讀入n:cin >>n;
讀入n個數至陣列a[i] : for(i=0; i<n; ++i) cin >>a[i];
倒著印出,且數字間空1格: for(i=n-1; i>=0; --i) cout <<a[i]<<” “;
印完所有數字後印換行: cout << endl;
b002: 找最大值
輸入1個正整數n,依所輸入的n再輸入n個整數,找出最大值印位置及值,例如:
輸入的n為5, 5個數為 444 888 555 777 999 則印出 5 999
須宣告整數n、陣列a[10],i ,因題目規定最多10個:int n, a[10],i;
讀入n:cin >>n;
讀入n個數至陣列a[i] : for(i=0; i<n; ++i) cin >>a[i];
設p=0, m=a[0]為最大: int p=0, m=a[0]
再由a[1]~a[n-1]找最大: for(i=1; i<n; ++i)
若比m大,則換成a[i],並記住位置:if(a[i]>m) { m=a[i]; p=i; }
印出位置p+1及最大值m: cout <<p+1 <<” “ << m << endl;
b003: 資料分組
輸入1個正整數n,依所輸入的n再輸入n個整數,再輸入1個m,算出這n個數中
比m大的個數有x個,比m小的個數有y個,印出 x y ,例如
比m大的個數有x個,比m小的個數有y個,印出 x y ,例如
輸入的n為5, 5個數為 5 4 3 2 1 , m為4 則印出 1 3
須宣告整數n,m、陣列a[10]:int n,m, a[10];
讀入n:cin >>n;
以下使用i也要宣告: int i;
讀入n個數至陣列a[i] : for(i=0; i<n; ++i) cin >>a[i];
讀入m:cin >>m;
設x=0, y=0: int x=0 , y=0;
由a[0]~a[n-1]判斷>m或<m: for(i=0; i<n; ++i) { 以下兩行 }
若比m大,則x+1:if(a[i]>m) x++;
若比m小,則y+1:if(a[i]<m) y++; // 6/11更正
印出x及y中間有空1格: cout <<x <<” “ << y << endl;
0 意見:
張貼留言