C语言实验设计 实验六 数组

从键盘输入一个整数n(n≤10)和n个整数,存入数组a中,先依次输出各个数组元素的值,然后对数组a的所有元素按从小到大的顺序重新排列后,再依次输出。
main()
{ int a[10],n,i,j,_________________;
printf("input n=");
scanf("%d",&n);
printf("input array a[0]a[l]… a[%d]:\n",n-1);
for(i=0;i<n;i++)
scanf("%d",______________________);
printf("before sort:array\n");
for(i=0;i<n;i--)
printf("%d",a[i]);
printf("\n");
for(i=0;i<_______________________;i++)
{ min=i;
for(j=___________________;j<n;j++)
if(a[j]<a[min])_________________;
ax=____________________;
a[i]=a[min];
____________________=ax;}
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%d", a[i]);
printf("\n");

求大神帮我填空,我是自学的,书上没答案,实在是想不出来,拜托了!

main()
{ int a[10],n,i,j,_________________; /*定义,下面出现了min
printf("input n=");
scanf("%d",&n);
printf("input array a[0]a[l]… a[%d]:\n",n-1);
for(i=0;i<n;i++)
scanf("%d",______________________); /*依次存储数据a[i]
printf("before sort:array\n");
for(i=0;i<n;i--)
printf("%d",a[i]);
printf("\n");
for(i=0;i<_______________________;i++) /*最大为n-2,倒数第二个
{ min=i;
for(j=___________________;j<n;j++) /*从第二个开始 j=i+1
if(a[j]<a[min])_________________; /*a[i]=a[j]交换小的到前面
ax=____________________;
a[i]=a[min];
____________________=ax;} /*a[min],
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%d", a[i]);
printf("\n");


这份代码有比较大问题,我觉得不科学
我修改了下
main()
{ int a[10],n,i,j,min;
printf("input n=");
scanf("%d",&n);
printf("input array a[0]a[l]… a[%d]:\n",n-1);
for(i=0;i<n;i++)
scanf("%d",a[i]);
printf("before sort:array\n");
for(i=0;i<n;i--)
printf("%d ",a[i]);
printf("\n");
for(i=0;i<n-2;i++)
{ min=i;
for(j=i+1;j<n;j++)
if(a[j]<a[min])
{ a[i]=a[j];
a[i]=a[min]; }
}
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%d ", a[i]);
printf("\n");
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-14
ax
a+i
n
i
min=j
a[i]
a[min]
相似回答