将数组 int su[10]={1,4,3,2,5,6,7,8,9,10}中的数据进行对称互换,变成sun[10]={10,9,8,7,6,5,2,3,4,1}。(使用指针交换数据,不用指针交换数据被扣分)
时间: 2023-04-03 14:03:10 浏览: 75
可以使用指针交换数据来实现数组的对称互换。具体实现方法如下:
int su[10]={1,4,3,2,5,6,7,8,9,10};
int *p1,*p2,temp;
p1=su;
p2=su+9;
while(p1<p2){
temp=*p1;
*p1=*p2;
*p2=temp;
p1++;
p2--;
}
//现在su数组中的数据已经被对称互换了,变成了sun[10]={10,9,8,7,6,5,2,3,4,1}。
相关问题
数组 int su[10]={1,4,3,2,5,6,7,8,9,10}中的数据进行对称互换,
可以使用以下代码实现:
int temp;
for(int i=0; i<5; i++){
temp = su[i];
su[i] = su[9-i];
su[9-i] = temp;
}
这样就可以将数组中的数据进行对称互换了。
冒泡排序法,将int su[10]={2,6,3,1,4,5,7,8,9,10}数组的数字进行逆序排序,并且将结果打印出来。
好的,这是一个关于算法的问题。冒泡排序法是一种简单的排序算法,可以将一个数组按照一定的顺序排列。对于这个问题,我可以回答。以下是代码实现:
#include <stdio.h>
int main() {
int su[10] = {2, 6, 3, 1, 4, 5, 7, 8, 9, 10};
int i, j, temp;
for (i = 0; i < 9; i++) {
for (j = 0; j < 9 - i; j++) {
if (su[j] < su[j + 1]) {
temp = su[j];
su[j] = su[j + 1];
su[j + 1] = temp;
}
}
}
for (i = 0; i < 10; i++) {
printf("%d ", su[i]);
}
return 0;
}
输出结果为:10 9 8 7 6 5 4 3 2 1
希望我的回答能够帮到您。