Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2545931
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2010-08-06 20:36:10

    编写一个函数,使给定的一个二维数组(3*3)转置。即行列互换。
    行列转化,也即:a[i][j] =a[j][i]。根据此原理,代码编写如下:
 

#include <stdio.h>
#define N 3

void print_data(int [][N]);
void convert_data(int [][N]);
int main(int argc, int *argv[])
{
    int i,j,temp;
    int a[N][N];
    printf("please input 9 number:\n");
    for (i = 0; i < N; i++)
    {
        for(j = 0; j < N; j++)
        {
              scanf("%d",&a[i][j]);
        }
    }
    
    printf("your input data is :\n");
    
    print_data(a);
    convert_data(a);
    print_data(a);
    
    system("pause");
    return 0;
}

void print_data(int data[][N])
{
     int i,j;
     for (i = 0; i < N; i++)
     {
         for (j = 0;j < N; j++)
         {
             printf("%d ",data[i][j]);
         }
         printf("\n");
     }
     printf("\n");
}

void convert_data(int data[][N])
{
     int i,j,temp;
     for (i = 0; i < N; i++)
     {
         for (j = i + 1;j < N; j++)
         {
             temp = data[i][j];
             data[i][j] = data[j][i];
             data[j][i] = temp;
         }
     }
}


阅读(5584) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~