问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...写一个函数,使给定的一个3X3的二维整型数组转置,即行列互换。

发布网友 发布时间:2024-10-21 22:44

我来回答

5个回答

热心网友 时间:2024-11-05 04:05

方法一、

#include<stdio.h>

void main(){

void switchArray(int[3][3]);

int array[][3]={{1,2,3},{4,5,6},{7,8,9}};

int i,j;

switchArray(array);

return 0;

}

void switchArray(int array[][3]){

int newArray[3][3];

int i,j;

for(i=0;i<3;i++){

for(j=0;j<3;j++){

newArray[j]<i>=array<i>[j];

}

}

for(i=0;i<3;i++){

for(j=0;j<3;j++){

printf("%d",newArray<i>[j]);

}

printf("\n");

}

}

方法二、用指针实现:

#include<stdio.h>

void main(){

void switchArray(int[3][3]);

int array[][3]={{1,2,3},{4,5,6},{7,8,9}};

int i,j;

int(*pToArray)[3];

pToArray=array;

switchArray(pToArray);

return 0;

}

void switchArray(int array[][3]){

int newArray[3][3],(*pTArr)[3],(*pTNewArr)[3];

int i,j;

pTArr=array;

pTNewArr=newArray;

for(i=0;i<3;i++){

for(j=0;j<3;j++){

*(*(pTNewArr+j)+i)=*(*(pTArr+i)+j);

}

}

for(i=0;i<3;i++){

for(j=0;j<3;j++){

printf("%d",*(*(pTNewArr+i)+j));

}

printf("\n");

}

}

扩展资料:

用法:

1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。

格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。

要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。

2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。

printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。

其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。

热心网友 时间:2024-11-05 04:10

array[][]要初始化 即给定数组长度 比如array[3][3]
clrscr();这一句没用到,而且没定义
getch()未定义,而且这一句也没用
下面是我改正后的程序
#include <stdio.h>

void main()
{
int value(int array[3][3]);
int a[3][3];
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
value(a);
printf("\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",a[i][j]);
}printf("\n");
}
}
int value(int array[3][3])
{
int i,j,t,k;
for(i=0;i<2;i++)
{
k=i;
for(j=i+1;j<3;j++)
{
t=array[k][j];
array[k][j]=array[j][k];
array[j][k]=t;
}
}
}

热心网友 时间:2024-11-05 04:04

问题很多。首先给数组指定长度。其次,clrscr和getch不在stdio里,在conio里。而且你不是在用TC的话,clrscr还未必有,建议用system("cls");再者,你的value函数没有返回int,建议改成void。这些都改完了以后,你的程序可以运行了。最后顺便说一下,你value函数里有个3被打成了2。

修改后程序(我运行过了)
#include <stdio.h>
#include <conio.h>
void main()
{
void value(int array[3][3]);
int a[3][3];
int i,j;
system("cls");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
value(a);
printf("\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d",a[i][j]);
}
}
getch();
}
void value(int array[3][3])
{
int i,j,t,k;
for(i=0;i<3;i++)
{
k=i;
for(j=i+1;j<3;j++)
{
t=array[k][j];
array[k][j]=array[j][k];
array[j][k]=t;
}
}
}

热心网友 时间:2024-11-05 04:08

value(int array[][])=>value(int array[][3])
列要指定

热心网友 时间:2024-11-05 04:06

有两处错误,1处语法错误,1处逻辑错误
sort(a[3][3]);修改成sort(a);就可以
但是你运行一下,你可以发现他没有转置

因为 for(i=0;i<3;i++)
for(j=0;j<3;j++)把所有的元素都循环了,例如a[1][2]对换了,然后a[2][1]也对换了,实际上没有作用了就,你可以改成for(i=0;i<3;i++)
for(j=i;j<3;j++)
这样就不会重复对换,就可以实现转置的目的了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
自离后能补办离职证明吗? 我是家里自离的,可以补办辞职手续吗 急救!!!狗狗受凉吃什么就吐什么,该吃什么药 狗狗受凉呕吐吃什么药好得快 公告栏标题里的字如何设定字体及大小 公告栏怎移动啊 我的公告栏 如何设置 怎么让QQ拍拍公告栏文字不滚动 在滚动的公告栏中鼠标放上去时就停止,这种效果怎么做?谢谢了 王者荣耀铂金1和黄金3双排排到的是什么段位的 有关南极洲的叙述,错误的是( )A.无“极昼”和“极夜”现象的大洲B.平 ... 有关南极洲纬度位置的说法,正确的是 [ ] A.地处中高纬度B.南极圈横贯... 下列对南极洲纬度位置的叙述,正确的是( ) A.纬度很高,接近南极圈 B.南... ...颜色的头发比较好呢? 我想染成亚麻色或者栗色,,但是不太清楚到底是... 王尔德简介代表作品 王尔德代表作品有哪些 王尔德诗选作者简介 奥斯卡·王尔德自传内容简介 奥斯卡·王尔德人物年表 佛手掌多久可暴盆 佛手掌何时开花结果 天天喝花旗渗水会胖吗 男人喝参茶 处女月经期的血进入龟头内部会有艾滋病吗?她没艾滋病,请详细回答 中级审计师有多难考? 宫口开了两指了,请问还要多久生宝宝 已经20岁的人可不可以喝参茶呢 晚上熬夜喝参茶会变胖吗? 请问我适合亚麻色的头发吗?还有适合中分吗? 亚麻色头发适合我吗(有图) 染发怎么挑选颜色最受直男欢迎的五种色 领益科技是什么厂 ...签证过期会怎么样?能回来吗,在机场会发生什么?也要看在哪个国家吧... 激光传真机,哪一种比较好? 请问731政策预计会有什么影响? 激光和喷墨传真机的选择 请问731政策详细情况是怎样的? 有没有扫描是彩色的,但是打印只要求黑白就可以的激光传真机啊 铁公鸡是一种什么样的鸡(什么是铁公鸡?什么是糖公鸡?) 汽车水箱和防冻液箱是同一个箱吗? 我国第一部纪传体通史是: [ ] A、《春秋》 B、《汉书》 C、《资治通鉴... 用邮政支付宝打款~有定额~打第二笔是不是要隔24小时? 我的支付宝实名认证说已经认证完了,可是却没有收到打款,也就是一元以 ... 我打货款支付宝,如果货不理想怎么办有一批货需要我先打微信支付,因没有... 神武剑气宠怎么打书? 人教版求英语9年级复习重点第一单元。 求人教版初中各年级英语语法!521019693@qq.com 神武手游百灵羊怎么打书介绍_神武手游百灵羊怎么打书是什么 怎么使用华外软件上的群发功能要注意什么 华外营销软件是什么样的软件 农民工怎么利用多余的时间做华外软件这个创业项目 支付宝有没有什么自动加人软件