输入n个整数(1<=n<100),并在指定位置p处插入新元素,输出最后的结果.
输入格式:
每个测试包含2行输入.第1行n,p,q,其中p,q分别表示需要插入的位置和需要插入的元素值(1<=p<=n+1, 且q符合int型数据范围). 第2行表示n个整数. n,p,q均为0时,表示测试结束.
输出格式:
输出最后的结果
输入样例:
在这里给出一组输入。例如
5 1 4
1 2 3 4 5
6 3 9
2 4 6 8 0 2
0 0 0
输出样例:
在这里给出相应的输出。例如
4 1 2 3 4 5
2 4 9 6 8 0 2
代码(有注释)
#include<stdio.h>
int main()
{
int a,d,f,g,i,t,j;
int b[100],c[200];
while(1) //老规矩运用while循环
{
scanf("%d %d %d",&d,&f,&g); //f,g分别表示需要插入的位置和需要插入的元素值,d表示输入数组的数据个数
if(d==0&&f==0&&g==0)break; //当d,f,g都为0时结束while循环
for(i=0;i<d;i++){
scanf("%d",&b[i]); //输入数据到b[100]中
}
for(j=0;j<d;j++){ //输出数组的数据
if(j==f-1){ //当数组输出到需要插入的元素的位置时
printf("%d ",g); //输出需要插入的元素
}
if(j<d-1){ //输出剩下的数据
printf("%d",b[j]); //这里不建议使用“printf("%d ",b[j]);”,至于为什么你可以尝试一下
printf(" ");
}else{
printf("%d",b[j]); //去除末尾多余的空格
}
}
printf("\n");
}
return 0;
}
代码(无注释)
#include<stdio.h>
int main()
{
int a,d,f,g,i,t,j;
int b[100],c[200];
while(1)
{
scanf("%d %d %d",&d,&f,&g);
if(d==0&&f==0&&g==0)break;
for(i=0;i<d;i++){
scanf("%d",&b[i]);
}
for(j=0;j<d;j++){
if(j==f-1){
printf("%d ",g);
}
if(j<d-1){
printf("%d",b[j]);
printf(" ");
}else{
printf("%d",b[j]);
}
}
printf("\n");
}
return 0;
}