C语言已输出数组怎么让它某两行还位置再输出

比如说5*5的数组,让第一行和第五行换位置重新输出怎么做?
我的第一个数组是用随机数产生的,就是不知道怎么在输出第一个个数组的基础上把第一行和第五行交换位置再输出,

第1个回答  推荐于2016-03-09
自己写个swap函数:

void swap(int *buf, int one, int two)
{
int tmp;

tmp = buf[one];

buf[one] = buf[two];

buf[two] = tmp;

}

调用时输入顺序:
printf("input swap number:\n");
scanf("%d,%d",&number1,&number2);
swap(number1, number2);
再打印~~追问

你是用了指针吗?指针我们刚刚学,才提了一下,而这个实验室前面内容,您看看不用指针又什么办法吗?谢谢

追答

你的是2维数组啊。直接这样吧:
int i = 0, temp = 0;
for(i = 0; i<5; i++)
{
temp = a[0][i];

a[0][i] = a[4][i];

a[4][i] = temp;

}
这样第一行和第五行的数就换位置了。

本回答被提问者和网友采纳
第2个回答  2014-11-09
只能依次swap,可以用指针,指针也是依次swap的,不过效率高一点。追问

能不能详细一点呢?因为我是个菜鸟,不怎么懂,有示范就更好哒。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网