- 麻煩大家幫我看一下這段代碼有啥錯誤?
-
#include<stdio.h>
int b[100],c[100],x;
void input(int a[],int n)
{printf("輸入數組a<10個元素>:");
for(int i=0;i<n;i++)
scanf("%c",&a[i]);}
void insert(int a[],int n,int x)
{for(int i=0;i<n;i++)
if(x<b[i]&&x<b[i+1]) break;
for(int j=0;j<i+1;j++)
c[j]=b[i];
c[i+1]=x;
for(int z=i+2;z<n+1;z++)
c[z]=b[z-1];
}
void output(int a[],int n)
{for(int i=0;i<n;i++)
printf("%d ",c[i]);
}
int main()
{input(b,10);
printf("輸入數組b<5個元素>:");
for(int i=0;i<5;i++)
{scanf("%d",&x);
insert(b,10,x);
}
output(c,15);
return 0;
}
最佳回答:
#include<stdio.h>
void input(int a[],int n)
{
for(int i=0;i<n;i++)
scanf("%d",&a[i]);//修改
}
void insert(int a[],int n,int x)
{
int i,te;
for( i=0;i<n;i++)
if(x<a[i]) break;
for(int j=i;j<n+1;j++)
{
te=a[j];
a[j]=x;
x=te;
}
}
void output(int a[],int n)
{
for(int i=0;i<n;i++)
printf("%d ",a[i]);//修改
}
int main()
{
int b[100],c[5];
printf("輸入數組a(10個元素):");
input(b,10);
printf("輸入數組b(5個元素):");
input(c,5);
for(int i=0;i<5;i++)
{
insert(b,10+i,c[i]);//修改
}
output(b,15);//修改
printf("\n\n");
return 0;
}