爱问知识人 爱问教育 医院库

C语言问题!高手进!

首页

C语言问题!高手进!

将一个3×3的矩阵转置,用一函数实现.
     在主函数中用scanf函数输入以下矩阵元素:
       1    3    5
       7    9    11
       13   15   19
将数组名作为函数实参,再执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。
#include<stdio.h>
void main()
{
   int a[3][3],*p,i,j;
   void trans(int *pointer);
   printf("请按行输入矩阵: \n");
   for(i=0;i<3;i++) 
     for(j=0;j<3;j++)
       scanf("%d",&a[i][j]);/*此处填写代码段,接收矩阵中每行元素的值*/
   p=&a[0][0];/*此处填写语句,将指针p指向二维数组的首地址*/
   trans(p);/*此处填写语句,调用函数trans,p做实参,以执行矩阵的转置 */;
   printf("转置后的矩阵: \n");
   for(i=0;i<3;i++) 
   {for(j=0;j<3;j++) printf("%d ",*(p+3*j+i));/*此处填写代码,输出矩阵中各元素的值*/
    printf("\n");
   } 
}
void trans(int *pointer)
{
   int i,j,t;
   for(i=0;i<3;i++)
    for(j=0;j<3;j++)
   { 
     t=*(pointer+3*i+j);
       *(pointer+3*i+j)=*(pointer+3*j+i);
       *(pointer+3*j+i)=t;
     }
}

上述程序无法正常运行~该如何修改~?

提交回答
好评回答
  • 2009-06-02 12:19:16
    ?Φ难剑艺{?了一下,?]錯呀。
    这是截图:
    我想有可能是你的C语言编辑器问题,我用了Microsoft Visual Studio 2005和MinGW Developer Studio检查你的程序,但都没问题,可以执行。

    1***

    2009-06-02 12:19:16

其他答案

类似问题

换一换
  • 软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):