输入一个正整数n<n小于10大于1>,在输入n个整数,用选择法将他们从小到大排序后输出

如题所述

#include "stdio.h"

int main()
{
int i,j,n;
int a[12];
int min,mx;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
min=a[i];
mx=i;
for(j=i+1;j<n;j++)
{
if(a[j]>min)
{
min=a[j];
mx=j;
}
}
j=a[i];
a[i]=a[mx];
a[mx]=j;
}
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
min记录该次比较的最大值,mx为相应坐标
遍历找到mx后,与a[i]换位
温馨提示:内容为网友见解,仅供参考
无其他回答

输入一个正整数n(1<n≤10),再输入n个正整数,找出其中的素数,并将它们从...
输入一个正整数n(1<n≤10),再输入n个正整数,找出其中的素数,并将它们从大到小排序后输出 输入一个正整数n(1<n≤10),再输入n个正整数。找出其中的素数,并从大到小排序。... 输入一个正整数n(1<n≤10),再输入n个正整数。找出其中的素数,并从大到小排序。 展开  我来答 3个回答 #热议# ...

c语言如何输入一个正整数N,再输入N个整数,按从小到大的顺序输出?
a[10000];\\x0d\\x0aprintf("请输入正整数N:");\\x0d\\x0ascanf("%d",&n);\\x0d\\x0aprintf("请依次输入%d个数",n);\\x0d\\x0afor(i=0;ia[i+1])\\x0d\\x0a{\\x0d\\x0at=a[i];\\x0d\\x0aa[i]=a[i+1];\\x0d\\x0aa[i+1]=t;\\x0d\\x0a}...

输入一个正整数n(1<n≤10),在输入n个整数将它们从大到小排序后输出
{int n,i,j,t,a[10];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(a[j]<a[j+1){t=a[j];a[j]=a[j+1];a[j+1]=t;} for(i=0;i<n;i++)printf("%d ",a[i]);printf("\\n");return 0;} ...

输入一个正整数 n (1<n<=10),再输入 n 个整数,将它们从大到小排序后输 ...
int A[10];int cmp(const void * a , const void * b){ return *(int*) a - *(int*)b;} int main(){ int n;cin >> n;for (int i = 0; i < n; i++)cin >> A[i];\/\/ qsort(A , n , sizeof(int) , cmp);for (int i= 0; i < n; i++)cout << A[...

输入一个正整数n(1 <n≤10),再输入n 个整数,将最小值与第一个数交换...
int a[10];int n,i,min,max,t;printf("Input n: ");scanf("%d",&n);printf("Input %d integers: ",n);for(i=0;i<n;i++)scanf("%d",&a[i]);min=max=0;printf("After swapped: ");for(i=1;i<n;i++){if(a[i]>a[max])max=i;if(a[i]<a[min])min=i;} t=a...

输入n(n<10),在输入n个数,用选择法将它们从小到大排序后输出.
int n;cout<<"输入n"<<endl;cin>>n;int i,j,k,*array;array=(int *)malloc(n * sizeof(int));cout<<"请输入"<<n<<"个随机整数:"<<endl;for(i=0;i<n;i++)cin>>array[i];for(i=0;i<n;i++){ k=i;\/\/ 选择具有关键码最大的对象 for(j=i+1;j<n;j++)if(array...

...从键盘输入一个正整数N,再输入N个整数,按从小到大的顺序输出。_百度...
printf("请输入正整数N:"); scanf("%d",&n); printf("请依次输入%d个数",n); for(i=0;i<n;i++) { printf("请输入第%d个数",i+1); scanf("%d",&a[i]); } for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]...

...repeat 次下列运算: 输入一个正整数 n (1<n<=10),再输入 n 个...
0.0

输入一个正整数n (1<n≤10),再输入n个整数,将它们存入数组a中。_百 ...
printf("请输入你要输入多少整数\\n"); scanf("%d",&n); a = (int*)malloc(n*sizeof(int)); if(a == NULL) return -1; printf("请输入这%d个整数\\n",n); for(i=0; i<n;) { scanf("%d",a+i); if(*(a+i)<2 || *(a+i)>10) { printf("重新输入\\n"); }else{ i++; } ...

输入一个正整数n(1< n ≤10),再输入n个整数,将最小值与第一个数交换...
int i,j=0,k=0,t,n,min,max,a[10];printf("输入整百数度的个数: ");scanf("%d",&n);printf("输入%d个整数: ",n);scanf("%d",&a[0]);max=a[0];min=a[0];for(i=1;i<n;i++){ scanf("%d",&a[i]);if(max<a[i]) {max=a[i];j=i;} if(min>a[i]) {min...

相似回答