1. 程式人生 > 其它 >刪除陣列其中一個元素 並新增一個元素

刪除陣列其中一個元素 並新增一個元素

技術標籤:C語言演算法c語言資料結構

在這裡插入圖片描述

#include <stdio.h>

main()
{
	int arr[] = {88, 77, 44, 66, 99};
	int count;//陣列的長度
	int i,j;
	int deletenum; //輸入要刪除的數字 
	int deleteposition = -1;//要刪除數字的下標 
	//int judgment = -1;//判斷條件
	int insertnum; //要插入的數字 
	
	//從大到小輸出,氣泡排序 
	count = sizeof(arr) / sizeof(arr[0]);
	for(i = 0; i <
count - 1; i++) { for(j = 0; j < count - 1 - i; j++) { int t = 0; if(arr[j] < arr[j + 1]) { t = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = t; } } } //輸出陣列中的每個元素 for(i = 0; i < count; i++) { printf("%d ", arr[i]); } printf("\n"); //刪除其中一個元素
printf("請輸入要刪除的數字:"); scanf("%d", &deletenum); for(i = 0; i < count; i++) { if(deletenum == arr[i]) { deleteposition = i; //記錄下標的位置 break; } } if(deleteposition == -1) { printf("抱歉,沒有找到你要刪除的數字,請重試!\n"); } else { for(i = deleteposition;
i < count - 1; i++)//從刪除下表的那個元素開始位移 { arr[i] = arr[i + 1];//把後面的值賦給前面的元素 } count--;//刪除陣列後,陣列總長度-1 printf("刪除後的數列為:\n"); for(i = 0; i < count; i++)//輸出陣列刪除後的元素 { printf("%d ", arr[i]); } printf("\n"); //在陣列中插入一個元素 printf("請輸入你要插入的數字:"); scanf("%d", &insertnum); arr[count] = insertnum;//將插入的數字給陣列的最後一個元素 count++;//插入數字後,陣列總長度+1 printf("插入數字後的數列為:\n"); for(i = 0; i < count; i++)//輸出陣列插入數字後的元素 { printf("%d ", arr[i]); } printf("\n"); //插入數字的元素從大到小輸出 printf("將新的陣列從大到小排列:\n"); for(i = 0; i < count - 1; i++) { for(j = 0; j < count - 1 - i; j++) { int s = 0; if(arr[j] < arr[j + 1]) { s = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = s; } } } for(i = 0; i < count; i++) { printf("%d ", arr[i]); } } return 0; }