程序填空题:选择法排序
请完善程序,实现以下程序功能:从键盘输入n个整数,用选择法将n个整数按降序排序并输出,输出时每个数之后跟一个空格。
输入样例1:
10
11 77 99 88 55 44 33 22 66 10
输出样例1:
99 88 77 66 55 44 33 22 11 10
输入样例2:
5
11 77 55 33 99
输出样例2:
99 77 55 33 11
输入样例3:
7
89 76 56 43 88 21 13
输出样例3:
89 88 76 56 43 21 13
c++
#include <stdio.h>
int main(void)
{
int n,i,j,t,k;
scanf("%d",&n);
int a[n]; //定义变长数组
for(i=0;i<n;i++)
scanf("%d",);
for(i=0;i<=n-2;i++) // 依次排好前n-1个元素
{
for(j=;j<=n-1;j++) //从后续元素中,找比当前元素大的
if(<a[j])
{t=a[i]; a[i]=; a[j]=;} //将a[i]与a[j]互换
}
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
答案:
第1空:&a[i]
第2空:i+1
第3空:a[i]
第4空:a[j]
第5空:t
输入样例1:
10
11 77 99 88 55 44 33 22 66 10
输出样例1:
99 88 77 66 55 44 33 22 11 10
输入样例2:
5
11 77 55 33 99
输出样例2:
99 77 55 33 11
输入样例3:
7
89 76 56 43 88 21 13
输出样例3:
89 88 76 56 43 21 13
c++
#include <stdio.h>
int main(void)
{
int n,i,j,t,k;
scanf("%d",&n);
int a[n]; //定义变长数组
for(i=0;i<n;i++)
scanf("%d",);
for(i=0;i<=n-2;i++) // 依次排好前n-1个元素
{
for(j=;j<=n-1;j++) //从后续元素中,找比当前元素大的
if(<a[j])
{t=a[i]; a[i]=; a[j]=;} //将a[i]与a[j]互换
}
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
答案:
第1空:&a[i]
第2空:i+1
第3空:a[i]
第4空:a[j]
第5空:t