1.要求能够识别如下命令:
(1)输入a 4,实现在数组后面加4
(2)输入c/m/n,将数组中所有的数字m改变为n
(3)输入d m,将数组中的数字m删除
(4)输入s,对删除后的数组实现排序
(m,n可能相等)
例如
7 8 14 21 19 25 7
输入a 4,数组变为7 8 14 21 19 25 7 4
输入c/7/8,数组变为8 8 14 21 19 25 8 4
输入d 8,变为14 21 19 25 4
#include <iostream> #include<stdio.h> #include<algorithm> #include<string.h> using namespace std; int num[200]={7,8,14,21,19,25,7}; void print(int a[],int n) { int i=0; for(i=0;i<n;i++) { printf("%d ",a[i]); } printf("\n"); } int length2; int main() { char x; while(cin>>x) { int length = 0 ; while(num[length]!=0) { length++; } if(x=='a') { int input; cin>>input; num[length++]=input; print(num,length); } if(x=='c') { int yuan,hou; char a; char b; cin>>a; cin>>yuan; cin>>b; cin>>hou; int i=0; for(i=0;i<length;i++) { if(num[i]==yuan) { num[i]=hou; } } print(num,length); } if(x=='d') { int aim; cin>>aim; int i=0; length2=length; int j; for(int q=0;q<length;q++) { for(i=0;i<length;i++) { if(num[i]==aim) { int n=i; for(;n<length;n++) { num[n]=num[n+1]; } length2--; } } } num[length2]=0; print(num,length2); } if(x=='s') { sort(num,num+length2); print(num,length2); } } return 0; }