1个回答
展开全部
void main(){这个题我之前回答过,改了下搬过来了,望采纳!
int a[100]={23,45,60,67,88};
int input;
int idx = -1;
int len = 5;
while (len<=100){
printf("请输入一个正整数:");
scanf("%d",&input);
if(input < 0){
break;
}
for(int i=0;i<len;i++){
if(input == a[i]){
idx = i;
break;
}
}
if (idx != -1){
for(int j=idx;j<len-1;j++){
a[j] = a[j+1];
}
len -= 1;
} else {
bool isNumMax=true;
if(len == 100){
printf("数组已达到%d个,不能再添加!\n",len);
continue;
}
for (int j=0;j<len;j++){
if(a[j]>input){
for(int k=len-1;k>=j;k--){
a[k+1] = a[k];
}
a[j] = input;
len += 1;
isNumMax = false;
break;
}
}
if (isNumMax){
a[len] = input;
len += 1;
}
}
idx = -1;
printf("元素个数为:%d\n",len);
for(int s=0;s<len;s++){
printf("%d ",a[s]);
}
printf("\n");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询