zoukankan      html  css  js  c++  java
  • 用函数封装实现对一个数组增删改查

    include <stdio.h>

    void Print(int arr[], int n);
    void Add(int arr[], int n);
    void Delete(int arr[], int n);
    void Find(int arr[], int n, int m);
    void Change(int arr[], int a, int b, int temp);

    int main()
    {
    int arr[1000] = { 1,2,3 };
    int k = 0;
    int n = 3;
    printf("现在的数组:");
    for (int i = 0; i < 3; i++)
    {
    printf("%d ", arr[i]);
    }
    printf(" ");

    while (1)
    {
    	
    	printf("1.增加元素
    2.删除元素
    3.查找元素
    4.修改元素
    5.退出
    ");
    	scanf_s("%d", &k);
    	if (k == 5)
    	{
    		break;
    	}
    	if (k == 1)//增加元素
    	{
    		
    		Add( arr, n);
    		n++;
    		Print(arr,n);
    
    	}
    	if (k == 2)//删除元素
    	{
    		
    		Delete(arr, n);
    		n--;
    		//输出修改之后的数组
    		Print( arr, n);
    	}
    	if (k == 3)//查找元素
    	{
    		int m;
    		printf("请输入要查找的元素:");
    		scanf("%d", &m);
    		Find(arr, n,m);
    		
    	}
    	if (k == 4)//修改数组
    	{
    		int a = 0;
    		int b = 0;
    		Change( arr, a, b, n);
    		//输出修改之后的数组
    		Print(arr, n);
    	}
    }
    getchar();
    getchar();
    return 0;
    

    }

    //输出修改后的数组
    void Print(int arr[],int n)
    {
    printf("现在数组元素:");
    for (int i = 0; i < n; i++)
    {
    printf("%d ", arr[i]);
    }
    printf(" ");
    }

    //增加元素
    void Add(int arr[],int n)
    {
    printf("一次只能增加一个元素哦!!! ");
    printf("请输入数组元素:");
    int j = 0;
    scanf_s("%d", &j);
    arr[n] = j;//赋值

    }

    //删除元素
    void Delete(int arr[],int n)
    {
    int m;
    printf("请输入你要删除元素的下标:");
    scanf_s("%d", &m);
    if (m < 0 || m >= n)
    {
    printf("输入错误,找不到这个下标! ");
    }
    else
    {
    for (int i = m; i < n - 1; i++)
    {
    arr[i] = arr[i + 1];
    }
    }
    }

    //查找元素
    void Find(int arr[],int n,int m)
    {

    for (int i = 0; i < n; i++)
    {
    	
    	if (arr[i] == m)
    	{
    		printf("找到该元素,下标为:%d
    ", i);
    		break;
    
    	}
    	if (i == n - 1)
    	{
    		if (arr[i] != m)
    		{
    			printf("下标错误,找不到这个元素!
    ");
    		}
    	}
    
    }
    

    }

    //修改数组
    void Change(int arr[],int a,int b,int temp)
    {
    printf("请输入要修改元素的下标: ");
    scanf_s("%d", &a);
    if (a<0 || a>temp - 1)
    {
    printf("下标越界,无法修改! ");
    }

    printf("请修改元素的值:");
    scanf_s("%d", &b);
    arr[a] = b;
    printf("
    ");
    

    }

  • 相关阅读:
    js 删除字符串中所有空格
    jquery easyui datagrid 设置设置在选中的所有行中只选择第一行
    编译Linux内核时出现错误gcc: error: elf_i386: No such file or directory
    AD9打印丝印层
    s3c2410 board.c分析
    2010.03 u-boot--Makefile完全分析
    mini6410移植--uboot移植(2)
    mini6410移植--uboot移植(1)
    uboot之uboot.lds文件分析
    Linux启动过程
  • 原文地址:https://www.cnblogs.com/Kissfly123/p/14137610.html
Copyright © 2011-2022 走看看