比如说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);
再打印~~追问
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的,不过效率高一点。追问
能不能详细一点呢?因为我是个菜鸟,不怎么懂,有示范就更好哒。