程序实现对数组的增删改查

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;

}

posted @ 2020-12-15 11:34  kisfly  阅读(169)  评论(0编辑  收藏  举报