#include<stdio.h> main() { int a[10],n,i,j,temp,

#include<stdio.h>
main()
{
int a[10],n,i,j,temp,min;
printf("input n=");
scanf("%d",&n);
printf("input array a[0] a[1]...a[%d]: \n",n-1);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("befor sort:array\n");
for(i=0;i<n;i++)
printf("%4d",a[i]);
printf("\n");
for(i=0;i<n;i++)
{
min=i;
for(j=i+1;j<n;j++)
if(a[j]<a[min])
min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%4d",a[i]);
printf("\n");
}
程序看不懂,给详细解释一下

第1个回答  推荐于2018-05-04
就是个排序,n表示你要输入数字的个数,然后将你输入的数字存入数组a[10]中,这里输入数字大小先后顺序不用管,下面有一个排序的程序段,
for(i=0;i<n;i++)
{
min=i;
for(j=i+1;j<n;j++)
if(a[j]<a[min])
min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}这个就是排序,这个就是将小的数放到前头,就是按数组a[0]a[1]a[2]顺序排放存入。最后排序完,数组a[10]中的数都是由小到大放置的了。
最后的循环就是将他们由小到大输出。printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%4d",a[i]);
将a[0]输出一直到a[n-1]的数全部输出为止。本回答被提问者和网友采纳
第2个回答  2013-11-28
排序,并输出最小值追答

查找最小值并输出

第3个回答  2013-11-28
稍微懂点的都能看懂吧。

...#include<stdio.h> void main () {int a[n],n,i,j,m; printf("请...
void sort(int array[],int n){ \/\/ n 为数组元素个数 int i,j,k,temp; \/\/ i 为基准位置,j 为当前被扫描元素位置,k 用于暂存出现的较小的元素的位置 for(i=0;i<n-1;i++){k=i;\/\/初始化为基准位置 for(j=i+1;j<n;j++){ if (array[j]<array[k]) k=j ; \/\/ k 始终...

c语言#include<stdio.h> #define N 10 main() { int a[10],i,j,t...
1.在排序时,for(i=0;i<N-1;j++),不能每次j++ 否则死循环;2.if(a[j]>a[j+1]),这里的排序是递增的,但是后面的输出提示是递减的;3.printf("Minimum:a[9]=%d\\n",a[0]),不能说输出a[9]但是传参数用a[0];4.后面打印的一些输出与题意无关,并且在程序设计的思路上,直接对数...

C语言(简单的)编写程序输入一维整形数组a[10],将其按由小到大排序后输 ...
main(){ int a[10],i,j,temp;printf("please input number:\\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\\n");for(i=0;i<10;i++)for(j=i+1;j<=10;j++)if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;} printf("the sorted numbers:");for(i=0...

从键盘输入10个整数,排序后从小到大输出。
int main(){ int a[10];int i,j;int temp;printf("请输入10个整数:");for(i=0;i<10;i++){ scanf("%d",&a<i>);} for(i=0;i<9;i++){ for(j=0;j<9-i;j++){ if(a[j]>a[j+1]){ temp=a[j];a[j]=a[j+1];a[j+1]=temp;} } } printf("排列后顺序为:...

下面程序的功能是输入10个数,找出最大值和最小值所在的位置,并把两者对...
include <stdio.h> void main(){ int a[10];int i,j,min,max,k,temp;for(i=0;i<10;i++)scanf("%d",&a[i]);min=a[0];max=a[0];for(i=0;i<10;i++){ if(max<a[i]){ max=a[i]; j=i;} if(min>a[i]){ min=a[i];k=i;} } temp=a[j];a[j]=a[k];a...

c语言编程输入十个数,空格分隔6 4 8 9 3 2 0 1 5 7输出1 2 3 4 5...
include <stdio.h>int main(){ int a[10]; int i,j,temp; for(i = 0;i<10;i++) \/\/输入10个数 { scanf("%d",&a[i]); } for(i = 0;i<10;i++) \/\/双循环对数组进行排序 for(j = i+1;j<10;j++) { if(a[i] > a[j]) {...

#include<stdio.h> #include<stdlib.h> main() { int array[10]; int...
for(j=0;j<10;j++){ if(i != j){ int temp;if(array[i]>array[j])temp=array[i];array[i]=array[j];array[j]=temp;} }

C语言:int a[10]={3,6,1,8,2,7,10,4,9,9}; 程序运行时输入一个整数n...
include <stdio.h> int main(){ int i,j,n;int temp;int a[10] = {3,6,1,8,2,7,10,4,9,9};temp = a[9];printf("输入一个数字");scanf("%d",&n);for(i=0;i<n;i++){ for(j=9;j>=0;j--){ if(j==0){ a[0] = temp;temp = a[9];}else { a[j] = a...

选择法排序:输入一个正整数n,再输入n个整数,将它们从大到小排序_百度知...
include<stdio.h>int main(void){ int a[10],n,i,k,max,temp; scanf("%d",&n); printf("enter n integers:"); for(i=0;i<n;i++) scanf("%d",&a[i]); for(k=0;k<n-1;k++) \/\/\/条件写成i了! { max=k; for(i=k+1;i<n;i++) if...

C语言编程:输入10个人的C语言成绩(0~100之间),输出最高分,最低分和平 ...
include<stdio.h>void main(){int a[10],i,min,max;float aver;for(i=0;i<10;i++)scanf("%d",&a[i]);min = max = aver = a[0];for(i=1;i<10;i++){if(a[i]<min) min = a[i];if(a[i]>max) max = a[i];aver +=a[i];}aver \/=10;printf("%d %d %f\\n"...

相似回答