1. 程式人生 > 實用技巧 >程式實現對陣列的增刪改查

程式實現對陣列的增刪改查

include <stdio.h>

int main()
{
int arr[1000] = { 1,2,3 };
int k = 0;
int j = 0;
int n = 3;
printf("現在的陣列:");
for (int i = 0; i < 3; i++)
{
printf("%d ", arr[i]);
}
printf("\n");

while (1)
{
	
	printf("1.增加元素\n2.刪除元素\n3.查詢元素\n4.修改元素\n5.退出\n");
	scanf_s("%d", &k);
	if (k == 5)
	{
		break;
	}
	if (k == 1)//增加元素
	{
		
		printf("一次只能增加一個元素哦!!!\n");
		printf("請輸入陣列元素:");
		scanf_s("%d", &j);
		arr[n] = j;//賦值
		n++;
		printf("現在陣列元素:");
		for (int i = 0; i < n; i++)
		{
			printf("%d ", arr[i]);
		}
		printf("\n");

	}
	if (k == 2)//刪除元素
	{
		
		int m;
		printf("請輸入你要刪除元素的下標:");
		scanf_s("%d", &m);
		if (m < 0 || m >= n)
		{
			printf("輸入錯誤,找不到這個下標!\n");
		}
		else
		{
			for (int i = m; i < n - 1; i++)
			{
				arr[i] = arr[i + 1];
			}
		}
		n--;
		//輸出修改之後的陣列
		printf("現在陣列元素:");
		for (int i = 0; i < n; i++)
		{
			printf("%d ", arr[i]);
		}
		printf("\n");
	}
	if (k == 3)//查詢元素
	{
		int m;
		printf("請輸入要查詢的元素:");
		scanf("%d", &m);
		for (int i = 0; i < n; i++)
		{
			if (arr[i] == m)
			{
				printf("找到該元素,下標為:%d\n", i);
				break;
				
			}	
			if (i == n - 1)
	{
		if (arr[i] != m)
		{
			printf("下標錯誤,找不到這個元素!\n");
		}
	}

		}
		
	}
	if (k == 4)
	{
		int a = 0;
		int b = 0;
		printf("請輸入要修改元素的下標:\n");
		scanf_s("%d", &a);
		if (a<0 || a>n-1)
		{
			printf("下標越界,無法修改!\n");
		}

		printf("請修改元素的值:");
		scanf_s("%d", &b);
		arr[a] = b;
		printf("\n");
		//輸出修改之後的陣列
		printf("現在陣列元素:");
		for (int i = 0; i < n; i++)
		{
			printf("%d ", arr[i]);
		}
		printf("\n");
	}
}
getchar();
getchar();
return 0;

}