程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度OJ 題目1470:調整方陣

九度OJ 題目1470:調整方陣

編輯:C++入門知識

題目1470:調整方陣時間限制:1 秒 內存限制:128 兆 特殊判題:否 提交:11 解決:6   題目描述: 輸入一個N(N<=10)階方陣,按照如下方式調整方陣: 1.將第一列中最大數所在的行與第一行對調。 2.將第二列中從第二行到第N行最大數所在的行與第二行對調。 依此類推... N-1.將第N-1列中從第N-1行到第N行最大數所在的行與第N-1行對調。 N.輸出這個方陣   輸入: 包含多組測試數據,每組測試數據第一行為一個整數N,表示方陣的階數. 接下來輸入這個N階方陣.   輸出: 調整後的方陣   樣例輸入: 4 3 6 8 7 6 7 5 3 8 6 5 3 9 8 7 2樣例輸出: 9 8 7 2 6 7 5 3 3 6 8 7 8 6 5 3來源: 2011年西北工業大學計算機研究生機試真題     [cpp]  /*********************************   *   日期:2013-2-25  *   作者:SJF0115   *   題號: 九度OJ 題目1470:調整方陣  *   來源:http://ac.jobdu.com/problem.php?pid=1470  *   結果:AC   *   來源:2011年西北工業大學計算機研究生機試真題  *   總結:   **********************************/    #include<stdio.h>    #include<limits.h>    #include<string.h>    int Matrix[11][11];      int main(){       int i,j,N,Max,MaxIndex;       while(scanf("%d",&N) != EOF){           //輸入            for(i = 0;i < N;i++){               for(j = 0;j < N;j++){                   scanf("%d",&Matrix[i][j]);               }           }           for(j = 0;j < N;j++){               //找每列的最大數及其下標                Max = INT_MIN;               for(i = j;i < N;i++){                   if(Matrix[i][j] > Max){                       Max = Matrix[i][j];                       MaxIndex = i;                   }               }               //對換                int temp;               if(MaxIndex != j){                   for(i = 0;i < N;i++){                       temp = Matrix[j][i];                       Matrix[j][i] = Matrix[MaxIndex][i];                       Matrix[MaxIndex][i] = temp;                   }               }           }           //輸出            for(i = 0;i < N;i++){               for(j = 0;j < N-1;j++){                   printf("%d ",Matrix[i][j]);               }               printf("%d\n",Matrix[i][j]);           }       }       return 0;   }     /*********************************  *   日期:2013-2-25 *   作者:SJF0115  *   題號: 九度OJ 題目1470:調整方陣 *   來源:http://ac.jobdu.com/problem.php?pid=1470 *   結果:AC  *   來源:2011年西北工業大學計算機研究生機試真題 *   總結:  **********************************/  #include<stdio.h> #include<limits.h> #include<string.h> int Matrix[11][11];   int main(){ int i,j,N,Max,MaxIndex; while(scanf("%d",&N) != EOF){ //輸入 for(i = 0;i < N;i++){ for(j = 0;j < N;j++){ scanf("%d",&Matrix[i][j]); } } for(j = 0;j < N;j++){ //找每列的最大數及其下標 Max = INT_MIN; for(i = j;i < N;i++){ if(Matrix[i][j] > Max){ Max = Matrix[i][j]; MaxIndex = i; } } //對換 int temp; if(MaxIndex != j){ for(i = 0;i < N;i++){ temp = Matrix[j][i]; Matrix[j][i] = Matrix[MaxIndex][i]; Matrix[MaxIndex][i] = temp; }www.2cto.com } } //輸出 for(i = 0;i < N;i++){ for(j = 0;j < N-1;j++){ printf("%d ",Matrix[i][j]); } printf("%d\n",Matrix[i][j]); } } return 0; }      

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved