將一個數組中的值按逆序重新存放。例如:原來順序為8,6,5,4,1。要求改為1,4,5,6,8


將一個數組中的值按逆序重新存放。例如:原來順序為8,6,5,4,1。要求改為1,4,5,6,8

【答案解析】

該題為數組的逆置,具體處理方式如下:

如果begin < end時,則循環進行一下操作

  1. 給定兩個下標begin和end,begin放在數組起始的位置,end放在數組最后一個元素的位置
  2. 交換begin和end位置的元素
  3. begin往后移動,end往前移動

【代碼實現】

#include<stdio.h>
int main()
{
	int array[5] = {8,6,5,4,1};
	int begin = 0, end = 4;

	printf("逆序之前數組為:");
	for (int i = 0; i < 5; ++i)
		printf("%d ", array[i]);
	printf("\n");

	// 逆序:begin在數組最左側,end在數組最右側
	// 只要begin < end,將begin和end位置元素進行交換
	// 然后begin往后移動一步,end往前移動一步
	while (begin < end)
	{
		int temp = array[begin];
		array[begin] = array[end];
		array[end] = temp;
		begin++;
		end--;
	}

	printf("逆置之后數組為:");
	for (int i = 0; i < 5; ++i)
		printf("%d ", array[i]);
	printf("\n");
	return 0;
}

【結果截屏】

將一個數組中的值按逆序重新存放。例如:原來順序為8,6,5,4,1。要求改為1,4,5,6,8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM