【C语言】选择法排序

哈喽!大一的小伙伴们是不是都考完期末考试或正在期末考试呢?

了解到一些高校还没考c语言,所以我整理了一下c语言的选择法,

考试的概率较大,建议同学们理解记忆哦!

希望这期还不算晚吧。

首先是直接使用选择法:

// 选择法#includeint main() {int a[10],t,k,i,j;printf("请输入10个数字,数字中间用空格隔开:\n"); // 输出给用户提示信息 for(i=0;i<=9;i++)scanf("%d",&a[i]); // 在这里输入10个要排序的数字for(i=0;i<9;i++) {k=i;for(j=i+1;j<=9;j++) if(a[k]>a[j])k=j;t=a[k];a[k]=a[i];a[i]=t;} // 排序过程的代码 printf("排序后的结果是:\n"); // 提示输出 for(i=0;i<=9;i++)printf("%d\t",a[i]); // 输出排好序后的10个数字 return 0;} 

源码如上,简单易懂,下面是运行结果图

c59be83d639b4f0ba241fd843e95dc53.png

然后就是调用函数去使用选择法

// 升级版----调用函数使用选择法#includevoid fun(int a[]); //声明使用选择法排序的函数 int main() {int a[10],i;printf("请输入10个数字,数字中间用空格隔开:\n"); // 输出给用户提示信息 for(i=0;i<=9;i++)scanf("%d",&a[i]); // 在这里输入10个要排序的数字fun(a); // 调用函数 printf("排序后的结果是:\n"); // 提示输出 for(i=0;i<=9;i++)printf("%d\t",a[i]); // 输出排好序后的10个数字 return 0;
} // 函数体void fun(int a[]) {int t,k,i,j;for(i=0;i<9;i++) { // 排序过程的代码 k=i;for(j=i+1;j<=9;j++) if(a[k]>a[j])k=j;t=a[k];a[k]=a[i];a[i]=t;} 
} 

 这个源码的原理和直接使用选择法是类似的

29b9480564d34db99e0cf9c886988c65.png

 最后,希望这些可以帮助到需要进行c语言期末考试的同学们,咱们下期再见!拜拜~


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部