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是分语句执行的,到了“;”就是一条语句,除非你用“{}”,这样可以将几个语句合并为一条语句。可以简单这么理解。
#include "stdio.h"#include "stdlib.h"
#define MAX_NUM 100
int main( int argc, char *argv[] )
{
int sort_list[MAX_NUM]
int tmp_it = 0
int list_num = 0
int i, j, k, t
while ( 1 )
{
scanf( "%d", &tmp_it )
if ( tmp_it < 0 || list_num >= MAX_NUM )
{
break
}
sort_list[list_num++] = tmp_it
for ( i = 0 i < list_num - 1 i ++ )
{
k = i
for ( j = i + 1 j < list_num j ++ )
if ( sort_list[ k ] > sort_list[ j ] )
{
k = j
}
if ( k != i )
{
t = sort_list[ i ]
sort_list[ i ] = sort_list[ k ]
sort_list[ k ] = t
}
}
printf( "开始打印排序\n" )
for ( i = 0 i < list_num i++ )
{
printf( "%d\n", sort_list[i] )
}
printf( "打印排序结束\n" )
}
return 0
}
用选择排序法编写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