1.源代码
#include <stdio.h>
int main()
{
int a[11]={1,2,3,4,5,6,7,8,9,0};
int x1,n1,n2,i;
scanf("%d %d",&x1,&n1);
scanf("%d",&n2);
for(i=0;i<=9;i++){
printf("%5d",a[i]);
}
printf("\n");
for(i=0;i<10;i++){
if(n1==i){
a[i]=x1;
for(i=n1+1;i<=8;i++){
a[i]--;
}
a[9]=9;
a[10]=0;
}
else{
a[10]=x1;
}
}
for(i=0;i<11;i++){
printf("%5d",a[i]);
}
printf("\n");
if(n2>=0 && n2<=10){
for(i=n2;i<10;i++){
a[i]=a[i+1];
}
}
else{
for(i=0;i<10;i++){
a[i]=a[i+1];
}
}
for(i=0;i<10;i++){
printf("%5d",a[i]);
}
return 0;
}
2.代码思路
-
首先,定义了一个名为
a
的数组,它包含10个元素,从1到9,然后是0。 -
然后,定义了一些变量,包括
x1
(用于存储要插入的值)、n1
(用于存储要插入的位置)、n2
(用于存储要删除的位置)和i
(用于循环)。 -
使用
scanf
函数从标准输入读取x1
、n1
和n2
的值。 -
使用一个循环打印出数组
a
的所有元素。 -
然后,使用一个循环遍历数组
a
,如果n1
等于当前的索引i
,则将x1
插入到数组a
的这个位置,并将后面的元素向后移动一位。如果n1
不等于当前的索引i
,则将x1
插入到数组a
的最后一个位置。 -
再次使用一个循环打印出数组
a
的所有元素。 -
最后,如果
n2
在0到10之间,那么删除数组a
的第n2
个元素,并将后面的元素向前移动一位。如果n2
不在0到10之间,那么删除数组a
的第一个元素,并将后面的元素向前移动一位。 -
再次使用一个循环打印出数组
a
的所有元素。