数组增删改查

头文件声明函数

#pragma once
#ifndef HEAD_H
#define HEAD_H
#include<stdio.h>
#include<stdlib.h>
#pragma warning (disable:4996)
void print();//显示数组函数
void add();//添加元素函数
void delete();//删除元素
void search();//查找元素
void insert();//插入元素
void change();//修改元素
#endif

 声明变量

#pragma once
int arr[100];
int n;
int s;
int del_nums;
int del_index;
int add_nums;
int add_index;
int change_index;
int change_nums;
int search_nums;

函数定义

#include"head.h"
#include"变量.h"
void print()//显示数组函数
{
	for (int i = 0; i < n; i++)
	{
		printf("%d\t", arr[i]);
	}
}
void add()//添加元素函数
{
	printf("----请输入待添加元素值\n");
	scanf("%d", &s);
	while (getchar() != '\n');
	arr[n++] = s;//末尾添加
}
void delete()
{
	del_index = -1;
	printf("输入要删除的元素\n");
	scanf("%d", &del_nums);
	while (getchar() != '\n');
	for (int i = 0; i < n; i++)
	{
		while(del_nums == arr[i])
		{
			del_index = i;
			for (int j = i; j <= n-1; j++)
			{
				arr[j] = arr[j+1];
			}
			n--;
		}
	}
	if (del_index<0)
	{
		printf("没有找到你要删除的数\n");
	}
}
void search()
{
	printf("请输入要查找的元素\n");
	scanf("%d", &search_nums);
	for (int i = 0; i < n; i++)
	{
		if (search_nums == arr[i])
		{
			printf("被查找元素的下标%d\n", i);
		}
	}
}
void insert()
{
	printf("请输入你要插入元素的位置\n");
	scanf("%d", &add_index);
	printf("请输入你要插入的元素\n");
	scanf("%d", &add_nums);
	for (int i = 0; i < n; i++)
	{
		if ((add_index - 1) == i)
		{
			add_index = i;
			for (int i = n - 1; i >= add_index; i--)
			{
				arr[i + 1] = arr[i];
			}
			arr[add_index] = add_nums;
			n++;
			break;
		}
	}
}
void change()
{
	printf("输入要修改值的序号\n");
	scanf("%d", &change_index);
	printf("输入更改数值\n");
	scanf("%d", &change_nums);
	for (int i = 0; i < n; i++)
	{
		if (change_index - 1 == i)
		{
			arr[i] = change_nums;
		}
	}
}

主函数 

#include"head.h"
#include"变量.h"
int main()
	{
		int chioce;
		printf("请问你要输入几个数字\n");
		scanf("%d", &n);
		while (getchar() != '\n');
		printf("请依次输入各元素\n");
		for (int i = 0; i < n; i++)
		{
			scanf("%d", &arr[i]);
		}
		print();
	loop:
		printf("\n请输入你的操作数\n");
		printf("1.增加一个元素\n2.删除一个元素\n3.查找一个元素\n4.插入一个元素\n5.修改一个元素\n");
		scanf("%d", &chioce);
		switch (chioce)
		{
		case 1:
			add();
			print();
			break;
		case 2:
			delete();
			print();
			break;
		case 3:
			search();
			print();
			break;
		case 4:
			insert();
			print();
			break;
		case 5:
			change();
			print();
			break;
		default:
			break;
			printf("你想咋地?");
			exit(0);
		}
		goto loop;
		return 0;
	}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值