【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;}
源码如上,简单易懂,下面是运行结果图

然后就是调用函数去使用选择法
// 升级版----调用函数使用选择法#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;}
}
这个源码的原理和直接使用选择法是类似的

最后,希望这些可以帮助到需要进行c语言期末考试的同学们,咱们下期再见!拜拜~
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
