| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1938 人关注过本帖
标题:矩阵交换行
只看楼主 加入收藏
孟畅
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-11-22
结帖率:100%
收藏
已结贴  问题点数:2 回复次数:1 
矩阵交换行
描述
    编写一个函数,输入参数是5*5的二维int型数组,和n,m两个行下标。功能:判断n,m是否在数组范围内,如果不在,则返回0;如果在范围内,则将n行和m行交换,并返回1。
    在main函数中, 声明一个5*5的int型矩阵,输入矩阵数据,并输入n,m的值。调用前面的函数。如果返回值为0,输出error。如果返回值为1,输出交换后的新矩阵。
关于输入
5*5矩阵的数据,以及n和m的值。
关于输出
如果不可交换,则输出error; 如果可交换,则输出新矩阵
2016-11-29 23:13
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:2 
#include<stdio.h>
int judge(int n,int m)
{
    if (n>=0&&n<5&&m>=0&&m<5&&n!=m)
        return 1;
    else
        return 0;
}
int swap(int a[][5],int i,int n,int m)
{
    int temp;
    temp=a[n][i];
    a[n][i]=a[m][i];
    a[m][i]=temp;
    if (++i<5)
        return swap(a,i,n,m);
    return 0;
}
void print(int a[][5])
{
    int i,j;
    for (i=0;i<5;i++,printf("\n"))
        for (j=0;j<5;j++)
            printf("%4d",a[i][j]);
}
int main()
{
    int a[5][5];
    int i,j,n,m;

    printf("输入5*5矩阵\n");
    for (i=0;i<5;i++)
        for (j=0;j<5;j++)
            scanf("%d",&a[i][j]);

    printf("原矩阵输出数据如下\n");
    print(a);

    printf("输入n,m\n");
    scanf("%d%d",&n,&m);

        if (judge(n,m))
        {
            swap(a,0,n,m);
            printf("交换行后的矩阵如下\n");
            print(a);
        }
        else printf("error\n");
        return 0;
}

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-30 08:42
快速回复:矩阵交换行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046376 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved