编程:数据逆置

题目:数据逆置
要求:有一组数据,要求逆置这些数据。或者说,有数组int ar[10],并赋初值,要求编程实现对该数组元素的逆置。

代码部分分析:

ar[0]  ->  temp[9]

ar[1]  ->  temp[8]

ar[2]  ->  temp[7]

ar[3]  ->  temp[6]

ar[4]  ->  temp[5]

ar[5]  ->  temp[4]

ar[6]  ->  temp[3]

ar[7]  ->  temp[2]

ar[8]  ->  temp[1]

ar[9]  ->  temp[0]

 

ar[i]  ->  temp[10-1-i]

//方法1:

#include<stdio.h>

void main(void){
	int ar[10] = {0,1,2,3,4,5,6,7,8,9};
	int temp[10] = {0};
	int i;

	printf("初始ar数组的值为:");
	for(i = 0; i < 10; i++){
		printf("%d ", ar[i]);
		temp[10-1-i] = ar[i];
	}

	printf("\ntemp数组的值为:");
	for(i = 0; i < 10; i++){
		printf("%d ", temp[i]);
		ar[i] = temp[i];
	}

	printf("\n逆置后ar数组的值为:");
	for(i = 0; i < 10; i++){
		printf("%d ", ar[i]);
	}
	printf("\n");

}

//方法2:按中轴对称

#include<stdio.h>

void main(void){
	int ar[10] = {0,1,2,3,4,5,6,7,8,9};
	int temp;
	int i;

	printf("初始ar数组的值为:");
	for(i = 0; i < 10; i++){
		printf("%d ", ar[i]);
	}
	printf("\n");

	for(i = 0; i < 10/2; i++){
		temp = ar[i];
		ar[i] = ar[10-1-i];
		ar[10-1-i] = temp;
	}

	printf("\n逆置后ar数组的值为:");
	for(i = 0; i < 10; i++){
		printf("%d ", ar[i]);
	}
	printf("\n");

}

猜你喜欢

转载自blog.csdn.net/weixin_42072280/article/details/82954088
今日推荐