您当前的位置:首页 > 互联网教程

C语言3#3二维数组行和列互换

发布时间:2025-05-13 11:30:48    发布人:远客网络

C语言3#3二维数组行和列互换

一、C语言3*3二维数组行和列互换

1、首先,你的程序逻辑有问题,在交换的时候,所有以对角线为中心的对称元素交换了两次,相当于没有交换;所以如果换成a[i][j]输出的话,结果与没有交换前的一样。即使,你把中间交换元素的那部分代码删去,最后用a[j][i],输出的结果感觉是交换了,其实在内存中(数组中)其实并没有交换。

2、我帮你改正后的代码如下,改正过的地方前边已做注释:

3、 printf("%d",a[i][j]);//这句为什么是a[j][i],而不是a[i][j];

二、c语言3个数比大小,顺序输出

{float a,b,c,t;//声明部份,定义变量,浮点

printf("Enter a,b,c:");//接收屏幕格式输入

scanf("%f,%f,%f",&a,&b,&c);//输入变量a、b、c的值

if(a<b){t=a;a=b;b=t;}//比较a和b的值,如果a<b,则a和b的值互换

if(a<c){t=a;a=c;c=t;}//比较a和c的值,如果a<c,则a和c的值互换

if(b<c){t=b;b=c;c=t;}//比较b和c的值,如果b<c,则b和c的值互换

printf("%5.2f\n%5.2f\n%5.2f\n",a,b,c);//输出a、b、c的值

======================================================

本例程是输入3个数字,再按大到小排序

当a<b时,则中间变量t=a,再将b的值赋给a,再将t的值赋给a

这样就完成了一个a和b的值互换。

printf("%5.2f\n%5.2f\n%5.2f\n",a,b,c);

其中%5.2f是指输入格式按_____.__输入出浮点格式的数。

三、c语言 把三个整数俺从大到小的顺序输出怎么编程

1、思路:求三个数x,y,z的大小顺序,可以先比较x和y的大小,把大值赋值x,小值赋值给y,接着比较x和z,把大值赋值x,小值赋值给z,则x为最大值,最后比较y和z的大小,把大值赋值给y,小值赋值给z,则z为最小值,x,y,z就是从大到小的顺序。

2、 scanf("%d%d%d",&x,&y,&z);

3、 t=x;//借助变量t,将x,y互换,此时x就是最小值,后面原理相同

4、 if(x<z)//第二次互换后x是最小的(或最小之一)

5、 printf("排序后为:%d%d%d\n",x,y,z);