数组增删查改(C++)

部署运行你感兴趣的模型镜像
根据元素移除#include<stdio.h>
#include<stdlib.h>
// 使用常规数组实现
#define len 100
// 添加单个元素
void add(int e,int arr[],int s){
arr[s]=e;
}
// 删除
int remove(int index,int arr[],int s){
if(index<0||index>=s){
printf("输入的下标不在合理范围内\n");
return 0;
}
int o = arr[index];
for(int i=index;i<s-1;i++){
arr[i]=arr[i+1];
}
arr[s-1]=0;
return o;
}
int removeByE(int e,int arr[],int s){
int index=0;
for(int i=0;i<s;i++){
int n = arr[i];
if(n!=e){
arr[i-index]=arr[i];
}else{
index++;
}
}
return index;
}
// 根据下标查找元素
//函数结构: 返回值类型 函数名 参数列表 : 不要相信参数 一定要验证处理
int get(int index,int arr[],int s){
if(index<0 || index>=s){
printf("索引的位置不合法");
return NULL;
}
return arr[index];
}
// 根据元素查找下标
int indexOf(int e,int arr[],int s){
for(int i=0;i<s;i++){
if(arr[i]==e){
return i;}
}
return -1;
}
int main(){
char str[50]="(2*5)+1.2+3.4*3";// 解析字符串的题
//将这个算式 计算出结果
// 通过 + 号 区分裁切出两个字符串
// 将前后两个字符串 转为 数字类型变量
// 根据运算符判断 是什么运算
int arr[len]={1,2,3,4,5,6,1,1,1,2,3,4,5,6,1,1,1,2,1};
int size=19;
while(1){
printf("添加单个元素->101\n");
printf("根据下标删除单个元素->201\n");
printf("根据元素删除->202\n");
printf("根据下标查找单个元素->301\n");
printf("根据元素查找下标->302\n");
printf("输入999结束程序->302\n");
printf("请输入功能编号:\n");
int id = 0;
scanf("%d",&id);
if(id==101){
int num = 0;
printf("请输入一个整数:\n");
scanf("%d",&num);
add(num,arr,size);
size++;
}else if(id==201){
int index = 0;
printf("请输入一个下标:\n");
scanf("%d",&index);
int o = remove(index,arr,size);
printf("被删除的元素是:%d",o);
size--;
}else if(id==202){
int e = 0;
printf("请输入一个需要被删除的数:\n");
scanf("%d",&e);
int index = removeByE(e,arr,size);
size-=index;
}else if(id==301){
int index = 0;
printf("请输入一个下标:\n");
scanf("%d",&index);
int e = get(index,arr,size);if(e!=NULL){
printf("查找到的元素是:%d\n",e);
}
}else if(id==302){
int e = 0;
printf("请输入一个需要查找下标的数:\n");
scanf("%d",&e);
int indx = indexOf(e,arr,size);
if(indx>=0){
printf("元素存在,当前位置是:%d\n",indx);
}else{
printf("元素不存在\n");
}
}else if(id==999){
exit(999);
}else{
printf("输入不合法,请输入正确的编号~\n");
}
printf("现有的元素:");
for(int i=0;i<size;i++){
printf("%d ",arr[i]);
}
printf("\n");
}
}
//- 完成功能代码
//- 完成技术笔记 :
// - 自己使用C语言 实现一个可以增删查改的数组
// - 需要掌握 : 函数 输入输出 数组 条件判断 循环
Java 的输入输出格式:import Scanner;
import *;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数 字符串 浮点数 使用空格隔开:");
int n= sc.nextInt();
Strung str = sc.next();
double p = sc.nextDouble();
System.out.println(n);
System.out.println(str);
System.out.println(p);
}
}
Python 输入输出:
# 读取整数
num = int(input("请输入一个整数: "))
print(f"你输入的数字是: {num}")
# 读取浮点数
num_float = float(input("请输入一个浮点数: "))
print(f"你输入的浮点数是: {num_float}")
推荐网站:
查找库 语法网站:https://www.runoob.com/
刷题网站:
蓝桥杯:(https://www.lanqiao.cn/problems/)
洛谷:https://www.luogu.com.cn/training/list
可视化数据结构:https://visualgo.net/zh

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值