三九宝宝网宝宝教育教学论文

解释C语言二维数组代码问题

01月06日 编辑 39baobao.com

[c语言编程指针数组作为函数参数]#include #include int main() { void sort1(char **p1); void print(char **p2); static char *name[]={"zhang","wang","li","zhao","abe"}; sort1(name); print(name); return 0; }...+阅读

楼主你好

其实你的代码很简单,只是有太多的循环嵌套,所以看起来复杂

#include

#include

#include

int main()

{

int a[5][5];

int i,j,m,n,t;

printf("排序前:\n");

for(i=0;i<5;i++) //(1)

{

for(j=0;j<5;j++)

{

a[i][j]=rand();

printf("%d\t",a[i][j]);

}

printf("\n");

} //(1)

for(i=0;i<5;i++) //(2)

{

for(j=0;j<5;j++)

{

for(m=0;m<5;m++)

{

for(n=0;n<5;n++)

{

if(a[i][j]

{

t=a[i][j];

a[i][j]=a[m][n];

a[m][n]=t;

}

}

}

}

} //(2)

printf("排序后:\n");

for(i=0;i<5;i++) //(3)

{

for(j=0;j<5;j++)

{

printf("%d\t",a[i][j]);

}

printf("\n");

} //(3)

return 0;

}

这里分开成三个大循环来看:

第一个大循环(1),是用于初始化二维数组元素的,让数组每个位置都获得一个值。

第二个大循环(2),是排序的关键,虽然是四个嵌套循环,但其实是两两配对的,其中i,j配一对;m,n配成另一对。主要作用就是经常用到的一维数组的冒泡排序。关于冒泡排序,如果不懂的话,可以一下,顺便也是学习方法嘛,从一维可以发展到二维三维~~~

第三个大循环(3),就是输出排序后的数组啦~~

希望楼主能看明白,祝楼主学习进步~~~

以下为关联文档:

c语言数组作为函数参数怎样写如果一个函数的目的是要产生一个新的数组,那么最好的做法是在调用函数前就生成好这个数组,然后把这个数组作为参数传给函数,在函数中修改这个数组的值. 像你这种做法,在sum函数...

C语言数组问题歌咏比赛上有十个评委打分计分规则去掉一个1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include<stdio.h> intmain() { intn,a[1000]; while(scanf("%d",&n)!=EOF & n!=0) { intmax=1e-8,min=1e8; for(inti=0...

c语言求二维数组中所有元素的和遍历二维数组,逐个累加即可。 以二维数组为10行5列为例。 1 2 3 4 5 6 7 8 9 inta[10][5],i,j,s=0; for(i = 0; i < 10; i ++) for(j = 0; j < 5; j ++) scanf("%d",&a[i][j]);/...

请用C语言:求一个数组中所有元素的和在主函数中检验如果说,数组中保存的是数字,那简单,全部加起来。 如果说,数组中保存的是字符串型数字比如“100”,那你需要把字符串转成数字再相加。 或者还可以把所有字符拼接在一起。 1 2 3 4...

c语言二维数组里的元素可以相加吗可以的,只要你调出来 #include "stdio.h" int mian(void) { int s; int h1,h2,h3,l1,l2,l3; int ss[3][3]={0}; for (int i=0; i<3; i++) { for (int j=0; j<3; j++) { print("请...

关于C语言定义二维数组的问题以下能正确定义二维数组的是 -- 以下能正确定义 数组的是 (去掉二维两字)。 A) int a[ ][3]; -- 语法错,没带初始化,不允许用 [空白],不允许 数组大小不定。 B) int a[ ]={2*3} --...

C语言二维动态数组问题p不是二维数组,是指向指针的指针,而且p[i]这样的使用也是错误的。 指向指针的指针,意思就是说这个指针必须指向一个指针类型的地址,因为指针是一个变量,因此指针也有自已的地址。...

c语言关于定义二维数组的问题首先你要理解二维数组的真正含义,它的第一维就是一组数据的起始地址,第二维就是某组数据中的某个值.其次,你要知道a[][4]所表达的意思,是指二维数组a的每一维都是由4个元素组成...

关于c语言二维数组输出问题二维数组是由一维数组构成的,循环第一维输出就可以了—— #include "stdio.h" int main(int argc,char *argv[]){ char s[][30]={"12345","abcde","647hfsdjka","ABCD","","Type","Moon","cxt"}...

推荐阅读
图文推荐