哈喽!大一的小伙伴们是不是都考完期末考试或正在期末考试呢?
了解到一些高校还没考c语言,所以我整理了一下c语言的选择法,
考试的概率较大,建议同学们理解记忆哦!
希望这期还不算晚吧。
首先是直接使用选择法:
// 选择法
#include<stdio.h>
int 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;
}
源码如上,简单易懂,下面是运行结果图
然后就是调用函数去使用选择法
// 升级版----调用函数使用选择法
#include<stdio.h>
void 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语言期末考试的同学们,咱们下期再见!拜拜~