题面
/*
编写一程序P706.C实现以下功能
输入任意10个整数,对这10个整数从小到大排序并输出。编程可用素材:
printf("Please input 10 number:\n")
printf("%5d");
程序的运行效果应类似地如图1所示,图1中的10 34 546 234 678 2 6 24 67 23是从键盘输入的内容。
Please input 10 number:
10 34 546 234 678 2 6 24 67 23
2 6 10 23 24 34 67 234 546 678
*/
解答
int main(void)
{
int data[10],i,j,k,tmp
printf("Please input 10 number:\n")
for(i=0
{
scanf("%d",&data[i])
}
// 使用选择排序:定标,交换
for(i=0
{
k=i
for(j=i+1
{
if(data[j]<data[k])
{
k=j
}
}
if(k!=i)
{
tmp = data[k]
data[k]=data[i]
data[i]=tmp
}
}
for(i=0
{
printf("%5d",data[i])
}
return 0
}
知识点
- 固定个数的数据输入,用数组来组织
- 对数组数据进行排序,这里使用的选择排序算法
- 选择排序重点:定标,交换
- 注意输出数据的格式宽度