百思不得其解,终得妙笔生花;

梓轩学姐为了练习数组的基本操作而请求了山神,包括了数组的输入,输出,查找,插入,删除操作。
山神给了紫萱n个数,然而紫萱学姐是个蒟蒻并不会做,请你帮助她根据山神的操作命令对数组进行操作。

数组下列操作命令
1  i   (1代表输出命令,i代表要输出数组的第i个元素,)
2  i k (2代表插入命令,i和k表示要在数组第i个元素后插入数字k)
3  i   (3代表删除命令,i表示删除第i个数)
4  k  (4代表查找命令,k是要查找的数,如果查找到,输出第一个查找到的数在数组的位置,如果找不到输出-1)

#include<iostream>
using namespace std;
int num[110];
int max[10100];
int n;
void work1(int x)
{
cout<<num[x]<<endl;
}
void work2(int x,int y)
{
for(int i=n;i>=x;i--)
num[i+1]=num[i];
num[x+1]=y;
n++;
}
void work3(int x)
{
for(int i=x;i<n;i++)num[i]=num[i+1];n--;
}
void work4(int x)
{
for(int i=1;i<=n;i++)
if(num[i]==x){cout<<i<<endl;return;}
cout<<-1<<endl;
}
int main()
{
int x,k,y,z;
cin>>n;
for(int i=1;i<=n;i++)cin>>num[i];
cin>>k;
for(int i=1;i<=k;i++)
{
cin>>x;
if(x==1){cin>>y;work1(y);}
if(x==2){cin>>y>>z;work2(y,z);}
if(x==3){cin>>y;work3(y);}
if(x==4){cin>>y;work4(y);}
}
return 0;
}

   这道题真的是变态,自己函数学的有些细节不是太好只能一点一点的去问,弄的学长都好尴尬,所以 在这里要进行一下总结,因为最后都要复习的,首先就是在用变量的时候如果主函数和你设定的函数都要用的话你就应该将他放在最上面,设定一个全局变量,便于下面使用,不然的话你自己设定的函数里面就会出现erruo,第2在设定函数时一定要输入参数,不然函数没办法运行,在调用函数的时候一定要在函数的括号内加入你自己定义的一些数,这样函数才会运行,避免被爆掉。最后任何数都要有一定的意义,在输出的时候可以输入一个输出一个,这个是允许的,而且在写题的时候一定要开放思维,不要只用单一的思想去解题,有时我们可以调用所有的知识,看这到题符合哪一单元的知识或者是那一部分的知识,或者是多个单元的结合(这个会多点的吧),总结下来就是多思考,多尝试。

       这一道题就花了一个下午,但收获也是不小的哈哈加油吧我的少年;(不知道梓轩学姐刚看到这道题的时候心情是怎么样的,哈;)尾标:232482532;

原文地址:https://www.cnblogs.com/232482532cn/p/7269458.html