C语言选择法_i++


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

了解到一些高校还没考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;
	
}

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

C语言选择法_c语言_02

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

// 升级版----调用函数使用选择法

#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语言选择法_i++_03

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