用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:
#include<stdio.h>
int main()
{
int i,j,a[10],t
printf("输入数")
for (i = 0i <10i++)
scanf("%d",&a[i])
for (i = 0i <10i++)
{
for (j = i + 1j <10j++)
if (a[i] <a[j]){
t = a[i]
a[i] = a[j]
a[j] = t
}
}
printf("从大到小")
for (i = 0i <10i++)
printf("%2d", a[i])
return 0
}
扩展资料:
代码还可以设计,如下:
#include<stdio.h>
int main()
{
int a[10],i,j,t//定义数组
for(i=0i<10i++){
scanf("%d",&a[i])//给数组赋值
}
for(i=0i<9i++)//10个数,进行9轮比较
for(j=0j<10-ij++){//第一个数比较9次,依次递减
if(a[j]>a[j+1]) {//交换值
t=a[j]
a[j]=a[j+1]
a[j+1]=t
}
}
for(i=0i<10i++){
printf("%d\n",a[i])//输出数组的值
}
return 0
}
}
printf("the sorted numbers:\n")
for(i=0i<10i++)
printf(" %d",a[i])
printf("\n")
}
参考资料:百度百科-printf
#include <stdio.h>void main()
{
int a[10]
int i,j,t
for(i=0i<=9i++)
scanf("%d",&a[i])
for(i=0i<9i++)
for(j=i+1j<10j++)
{
if(a[i]>a[j])
{ /*交换从这里开始*/
t=a[i]
a[i]=a[j]
a[j]=t}
} /*交换到这里结束*/
for(i=0i<=9i++)
printf("%d ",a[i])
printf("\n")/*下一次循环时换行*/
}
也没有多大的错误
小心点,C是分语句执行的,到了“;”就是一条语句,除非你用“{}”,这样可以将几个语句合并为一条语句。可以简单这么理解。