| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3696 人关注过本帖
标题:用调用函数的方法转换矩阵,,结果出不来,求指教。、。。
只看楼主 加入收藏
姚萌萌
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:40
专家分:55
注 册:2016-12-25
收藏
得分:0 
t=a[i][j];
 a[i][j]=a[j][i];
 t=a[j][i];
这是为了将a[i][j]和ap[j][i]里面的数换过来,直接用a[i][j]=a[j][i];的话,只是将后面的值给了前面的,后面的那个没有变,=是赋值不是交换。
为什么不能把return写在循环里面,因为return意味着返回一个值并且退出这个函数,读到return就会退出这个函数,不会再执行循环

此外,你应该在分函数里输出转换后的矩阵,因为形参的值不会传递出来/**这一点不太清楚数组是不是这样,你在查一下
程序代码:
#include<stdio.h>
#define n 3
void matrix(int a[3][3]);
int main()
{
    int i,j;
    int a[n][n];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            scanf("%d",&a[i][j]);
    }
    printf("\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            printf("%3d",a[i][j]);
           

         printf("\n");
    }
    matrix(a);
    return 0;
}
void matrix(int a[3][3])     

{
    int i,j,t;
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
          {
             t=a[i][j];
             a[i][j]=a[j][i];                

             t=a[j][i];
           }
      }
     printf("转换后的矩阵为:\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            printf("%3d",a[i][j]);
           

        printf("\n");
    }
}

2017-03-05 15:21
姚萌萌
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:40
专家分:55
注 册:2016-12-25
收藏
得分:0 
回复 21楼 姚萌萌
那里应该改为
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
才对

2017-03-05 15:24
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 21楼 姚萌萌
你真确定你的代码是对的吗?

将数组改为5,7试试。

图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2017-3-5 15:33编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-05 15:31
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 22楼 姚萌萌
是的 谢了哈,是不是viod没返回值,所以才应该写到调用的函数的里面。要是用int 是不是就可以写到外边了?
2017-03-05 15:35
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 23楼 renkejun1942
void
fun( int ( *a )[ N ], int I )   


还有下边的几句代码我有的没看懂。
2017-03-05 15:38
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 25楼 花脸
那是指向一个二维数组的指针~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-05 17:59
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 26楼 九转星河
  好吧 我们还没学到。。。
2017-03-05 19:59
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 27楼 花脸
我无法想象你上的哪家学校,都叫你做向函数传递数组的题了,却没有讲到指针。

[此贴子已经被作者于2017-3-5 20:26编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-05 20:24
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 28楼 renkejun1942
那也不知道老师咋想的。。。为什么想函数传递数组不需要返回值???
2017-03-05 20:39
快速回复:用调用函数的方法转换矩阵,,结果出不来,求指教。、。。
数据加载中...
 
   



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

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