一道c语言编程题
将一个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 阅读(
...) 评论(
...)
编辑
收藏
转载于:https://www.cnblogs.com/aween/archive/2006/03/02/341534.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)