Aween

向.NET进发

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
将一个5*5的矩阵中最大的元素放在中心,四个角分别放四个最小的元素(顺序从左到右,从上到下顺序依次从小到大存放),写一函数实现之,用main函数调用。#include"stdio.h"#define N 5 void Pai(int *); 

void main() { int ch[N][N],i,*pt=ch[0];

//让计算机给变量赋值

for(i=0;i*(pt+i)=i; Pai(ch[0]);

//输出处理过的数字for(i=0;i{if(i%N==0) //控制格式printf("\n");printf("%5d",*(pt+i));}printf("\n");}

void Pai(int *p){int temp,i,j,k,d,n;

d=k=0;n=1;

//求出最大数for(i=1;iif(*(p+k)<*(p+i))k=i; //最大数的交换temp=*(p+k);*(p+k)=*(p+(N*(N/2)+(N/2)));*(p+(N*(N/2)+(N/2)))=temp;

//求出四个最小数,并交换位置for(i=0;i<4;i++){ switch(i) {case 1:d=N-1; //需要交换值所对应该的位置break;case 2:d=N*(N-1);break;case 3:d=N*N-1;break;}

k=1;j=2; if(n==1) { k=0;j=1;n=0; } for(;j {if(i>1&&j==N-1)continue;if(i>2&&j==N*(N-1))continue;if(*(p+k)>*(p+j))k=j; } //交换数值 temp=*(p+d); *(p+d)=*(p+k); *(p+k)=temp;}}



posted on 2006-03-02 21:49  Aween's Blog  阅读(764)  评论(0编辑  收藏  举报