C语言 函数调用写一个函数,使给定的一个3*3的二维整型数组转置,即行列互换。 C语言设计: 写一个函数使给定的3*3二维整型数组转置,即行...

\u5199\u4e00\u4e2a\u51fd\u6570\uff0c\u4f7f\u7ed9\u5b9a\u7684\u4e00\u4e2a3*3\u7684\u4e8c\u7ef4\u6574\u578b\u6570\u7ec4\u8f6c\u7f6e\uff0c\u5373\u884c\u5217\u4e92\u6362

\u65b9\u6cd5\u4e00\u3001
#include
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]=array[j];
}
}
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("%d",newArray[j]);
}
printf("\n");
}
}
\u65b9\u6cd5\u4e8c\u3001\u7528\u6307\u9488\u5b9e\u73b0\uff1a
#include
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");
}
}

\u6269\u5c55\u8d44\u6599\uff1a\u7528\u6cd5\uff1a
1\u3001printf()\u51fd\u6570\u662f\u683c\u5f0f\u5316\u8f93\u51fa\u51fd\u6570,\u4e00\u822c\u7528\u4e8e\u5411\u6807\u51c6\u8f93\u51fa\u8bbe\u5907\u6309\u89c4\u5b9a\u683c\u5f0f\u8f93\u51fa\u4fe1\u606f\u3002
\u683c\u5f0f\u8f93\u51fa\uff0c\u5b83\u662fc\u8bed\u8a00\u4e2d\u4ea7\u751f\u683c\u5f0f\u5316\u8f93\u51fa\u7684\u51fd\u6570\uff08\u5728stdio.h\u4e2d\u5b9a\u4e49\uff09\u3002\u7528\u4e8e\u5411\u7ec8\u7aef\uff08\u663e\u793a\u5668\u3001\u63a7\u5236\u53f0\u7b49\uff09\u8f93\u51fa\u5b57\u7b26\u3002\u683c\u5f0f\u63a7\u5236\u7531\u8981\u8f93\u51fa\u7684\u6587\u5b57\u548c\u6570\u636e\u683c\u5f0f\u8bf4\u660e\u7ec4\u6210\u3002
\u8981\u8f93\u51fa\u7684\u6587\u5b57\u9664\u4e86\u53ef\u4ee5\u4f7f\u7528\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7a7a\u683c\u548c\u4e00\u4e9b\u6570\u5b57\u7b26\u53f7\u4ee5\u5916\uff0c\u8fd8\u53ef\u4ee5\u4f7f\u7528\u4e00\u4e9b\u8f6c\u4e49\u5b57\u7b26\u8868\u793a\u7279\u6b8a\u7684\u542b\u4e49\u3002
\u7b80\u5355\u70b9\u7406\u89e3\u5c31\u662f\uff0c\u5728\u4e00\u6bb5\u7a0b\u5e8f\u4e2d\u4f60\u6b63\u786e\u4f7f\u7528\u8be5\u51fd\u6570\uff0c\u53ef\u4ee5\u5728\u8be5\u7a0b\u5e8f\u8fd0\u884c\u7684\u65f6\u5019\u8f93\u51fa\u4f60\u6240\u9700\u8981\u7684\u5185\u5bb9\u3002
2\u3001printf\u51fd\u6570\u662f\u4e00\u4e2a\u6807\u51c6\u5e93\u51fd\u6570\uff0c\u5b83\u7684\u51fd\u6570\u539f\u578b\u5728\u5934\u6587\u4ef6\u201cstdio.h\u201d\u4e2d\u3002\u4f46\u4f5c\u4e3a\u4e00\u4e2a\u7279\u4f8b\uff0c\u4e0d\u8981\u6c42\u5728\u4f7f\u7528printf\u51fd\u6570\u4e4b\u524d\u5fc5\u987b\u5305\u542bstdio.h\u6587\u4ef6\u3002
printf()\u51fd\u6570\u7684\u8c03\u7528\u683c\u5f0f\u4e3a:printf("",)\u3002
\u5176\u4e2d\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\u7528\u4e8e\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002\u683c\u5f0f\u63a7\u5236\u4e32\u53ef\u7531\u683c\u5f0f\u5b57\u7b26\u4e32\u548c\u975e\u683c\u5f0f\u5b57\u7b26\u4e32\u4e24\u79cd\u7ec4\u6210\u3002

#includevoid fun(int array[],int array_len){int b[array_len];int i,j;for(i=0;i<array_len;i++){b[i]=array[i];}for(i=0;i<3;i++){for(j=0;j<3;j++){array[i][j]=b[j][i];}}}int main(){int a[3][3];fun(a,sizeof(a)/sizeof(int));//printf("%d\n",sizeof(a));return 0;}

方法一、

#include&lt;stdio.h&gt;

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&lt;3;i++){

for(j=0;j&lt;3;j++){

newArray[j]&lt;i&gt;=array&lt;i&gt;[j];

}

}

for(i=0;i&lt;3;i++){

for(j=0;j&lt;3;j++){

printf("%d",newArray&lt;i&gt;[j]);

}

printf("
");

}

}

方法二、用指针实现:

#include&lt;stdio.h&gt;

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&lt;3;i++){

for(j=0;j&lt;3;j++){

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

}

}

for(i=0;i&lt;3;i++){

for(j=0;j&lt;3;j++){

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

}

printf("
");

}

}

扩展资料:

用法:

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

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

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

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

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

printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。

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



/*
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
请按任意键继续. . .
*/
#include <stdio.h>
#include <malloc.h>
#define N 4

void Transpose(int a[][N]) {
int i,j,t;
for(i = 0; i < N; ++i) {
for(j = i; j < N; ++j) {
t = a[i][j];
a[i][j] = a[j][i];
a[j][i] = t;
}
}
}

int main() {
int i,j,a[N][N] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
for(i = 0; i < N; ++i) {
for(j = 0; j < N; ++j)
printf("%2d ",a[i][j]);
printf("\n");
}
Transpose(a);
printf("\n");
for(i = 0; i < N; ++i) {
for(j = 0; j < N; ++j)
printf("%2d ",a[i][j]);
printf("\n");
}
return 0;
}

凑和着用吧!
#include<stdio.h>
#define N 3
int main()
{
void transposition(int arr[][N]);
int a[N][N],i,j;
printf("请输入一个3*3的二维整型数组\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("%d ",a[i][j]);
printf("\n");
}
transposition(a);
printf("转置后:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
void transposition(int arr[][N])
{
int i,j,temp;
for(i=0;i<N;i++)
{
for(j=i;j<N;j++)
if(i!=j)
{
temp=arr[i][j];
arr[i][j]=arr[j][i];
arr[j][i]=temp;
}
}
}

#include<stdio.h>
void f10(int **x,int n)
{
int t[3][3];
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)t[j][i]=x[i][j];
printf("转置后:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%5d",t[i][j]);
putchar('\n');
}
}
void main()
{
int b[3][3]={{1,2,3,},{4,5,6},{7,8,9}},a[3][3];
int *c[3];
int i,j;
for(i=0;i<3;i++) c[i]=b[i];
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%5d",b[i][j]);
putchar('\n');
}
f10(c,3);
}

main(){
int array[][]= {{1,2,3},{4,5,6},{7,8,9}};
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(array[i][j]);
}
System.out.println();
}

for(int i=0;i<3;i++){
for(int j=0;i<3;j++){
if(i==j){
break;
}
int temp = array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}

}
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(array[i][j]);
}
System.out.println();
}
}

扩展阅读:c语言如何调用函数 ... c语言调用函数怎么写 ... c语言库函数大全 ... c#如何调用类里的函数 ... c语言简单的函数调用 ... c函数调用的三种方式 ... c语言常用的32个关键字 ... c语言怎么调用方法 ... c语言调用函数写加减乘除 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网