任务描述
本关任务:将十个数进行从大到小的顺序进行排列。
相关知识
数组在创建得时候如果想不指定数组得确定的大小就得初始化。数组得元素个数根据初始化得内容来确定。
注:数组创建,【】中必须是一个常量,使用变量则会报错。
输入
输入十个整数。
输出
以从大到小的顺序输出这个十个数。
测试说明
样例输入:1 2 3 4 5 6 7 8 9 10
样例输出:10 9 8 7 6 5 4 3 2 1
#include<stdio.h>
int main(void)
{
int max(int a[],int len);
int a[10];
int maxid;
int len = sizeof(a)/sizeof(a[0]);
for(int i = 0;i<10;i++)
{
int temp;
scanf("%d",&temp);
a[i]=temp;
}
for(int i =len - 1;i>0;i--)
{
maxid = max(a,i+1);
int t = a[maxid];
a[maxid] = a[i];
a[i] = t;
}
for(int i=0;i<len;i++)
{
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
int max(int a[],int len)
{
int i,maxid=0;
for(i=1;i<len;i++)
{
if(a[i]<a[maxid])
maxid = i;
}
return maxid;
}
运行结果示例:
测试输入:
10 2 3 4 5 7 6 8 9 1
—— 预期输出 ——
10 9 8 7 6 5 4 3 2 1
—— 实际输出 ——
10 9 8 7 6 5 4 3 2 1