来我空间的就印个脚印再走哈!!

C语言程序示例2

上一篇 / 下一篇  2009-12-02 09:31:39 / 个人分类:C语言

#include <stdio.h>
#include <conio.h>
#include <string.h>
#define I 5
#define J 5
#define N "The biggest number is:"

/*function definition*/
void findbig(int fa[][J]);
void findsmall(int fa[][J]);

int main(void)
{
 int i = 0;
 int j = 0;
 int big = 0;
 int a[I][J] = {
  {35,34,33,32,31},{30,29,28,27,26},{25,24,23,22,21},{20,19,18,17,16},{15,14,13,12,11} };
  
  /*output original*/ 
  printf("The original:\n\n");
  
  for (i = 0; i < I; i++)
  {
   for (j = 0; j < J; j++)
   {
    printf("%d ",a[i][j]);
   }
   printf("\n");
  }
  
  /* function call*/ 
  findbig(a); 
  findsmall(a);
  
  /*output the result*/ 
  printf("\n\nThe result:\n\n");
  
  for (i = 0; i < I; i++)
  {
   for (j = 0; j < J; j++)
   {
    printf("%d ",a[i][j]);
   }
   printf("\n");
  }
  
  return 0;
}

/*find the biggest number*/
void findbig(int fa[][J])
{
 int i = 0;
 int j = 0;
 int tr = 0;
 int tc = 0;
 int temp = fa[0][0];
 
 for (i = 0; i < I; i++ )
 {
  for (j = 0; j < J; j++)
  {
   if (fa[i][j] > temp)
   {
    temp = fa[i][j];
    tr = i;
    tc = j;
   }
   
  }
 }
 printf("\nThe biggest number is:%d.   rol: %d,   col: %d\n",fa[tr][tc],tr,tc);
 
 temp = fa[tr][tc];
 fa[tr][tc] = fa[(I-1)/2][(J-1)/2];
 fa[(I-1)/2][(J-1)/2] = temp;
}


/*find the least number */
void findsmall(int fs[][J])
{
 int i = 0;
 int j = 0;
 
 int tr1 = 0;
 int tc1 = 0;
 int temp1 = fs[0][0];
 
 int tr2;
 int tc2;
 int temp2;
 
 int tr3;
 int tc3; 
 int temp3;
 
 int tr4;
 int tc4; 
 int temp4;
 
 
 for (i = 0; i < I; i++ )
 {
  for (j = 0; j < J; j++)
  {
   if (fs[i][j] < temp1 )
   {
    temp1 = fs[i][j];
    tr1 = i;
    tc1 = j;
   }
   
  }
 }
 
 for (i = 0,temp2 = fs[0][0]; i < I; i++ )
 {
  for (j = 0; j < J; j++)
  {
   if (fs[i][j] < temp2 && fs[i][j] > fs[tr1][tc1] )
   {
    temp2 = fs[i][j];
    tr2 = i;
    tc2 = j;
   }
   
  }
 }
 
 for (i = 0,temp3 = fs[0][0]; i < I; i++ )
 {
  for (j = 0; j < J; j++)
  {
   if (fs[i][j] < temp3 && fs[i][j] > fs[tr2][tc2] )
   {
    temp3 = fs[i][j];
    tr3 = i;
    tc3 = j;
   }
   
  }
 }
 
 for (i = 0,temp4 = fs[0][0]; i < I; i++ )
 {
  for (j = 0; j < J; j++)
  {
   if (fs[i][j] < temp4 && fs[i][j] > fs[tr3][tc3] )
   {
    temp4 = fs[i][j];
    tr4 = i;
    tc4 = j;
   }
   
  }
 }
 printf("The smallest number is: %d.   rol: %d,   col: %d\n",fs[tr1][tc1],tr1,tc1);
 printf("The smaller number is: %d.   rol: %d,   col: %d\n",fs[tr2][tc2],tr2,tc2);
 printf("The third small number is: %d.   rol: %d, col: %d\n",fs[tr3][tc3],tr3,tc3);
 printf("The fourth small number is: %d.   rol: %d, col: %d\n",fs[tr4][tc4],tr4,tc4);
 
 temp1 = fs[tr1][tc1];
 fs[tr1][tc1] = fs[0][0];
 fs[0][0] = temp1;
 
 temp2 = fs[tr2][tc2];
 fs[tr2][tc2] = fs[0][J-1];
 fs[0][J-1] = temp2;
 
 temp3 = fs[tr3][tc3];
 fs[tr3][tc3] = fs[J-1][0];
 fs[I-1][0] = temp3;
 
 temp4 = fs[tr4][tc4];
 fs[tr4][tc4] = fs[J-1][J-1];
 fs[I-1][J-1] = temp4;
 
}

希望有人可以帮我优化优化,谢谢!


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-22  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 1703
  • 日志数: 7
  • 建立时间: 2009-11-13
  • 更新时间: 2009-12-02

RSS订阅

Open Toolbar