在C语言中什么叫选择法

Python017

在C语言中什么叫选择法,第1张

当你只有一个选项的时候,使用if(条件表达式

当你只有两个选项的时候,使用if(条件表达式)else(条件表达式)

当你只有多个选项的时候,使用if(条件表达式)else if(条件表达式)...else(条件表达式)

例如你从1到100的数,选择5的倍数打印出来,这时候就用选择法了

for(i=1i<=100i++)

{if(i%5==0)printf("%d\n",i)}

选择法是c中对数组进行排序的一种方法。

以整形数组元素为例,有数组A[10](以C语言为例描述),即A[0],A[1],…,A[8],A[9](假设其元素均互不相同)。要求对其元素排序使之递增有序。

首先以一个元素为基准,从一个方向开始扫描,比如从左至右扫描,以A[0]为基准。

接下来从A[0],…,A[9]中找出最小的元素,将其与A[0]交换。

然后将基准位置右移一位,重复上面的动作,比如,以A[1]为基准,找出A[1]~A[9]中最小的,将其与A[1]交换。

一直进行到基准位置移到数组最后一个元素时排序结束(此时基准左边所有元素均递增有序,而基准为最后一个元素,故完成排序)。

在程序中用数组大小比较不应算作选择法吧,选择是排序方法,不是简单的比较

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中 选出 最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。所以这种排序的方法叫选择法排序。

C语言参考实例:

#include <stdio.h>

void main()

{

    int a[]={1,3,4,2,0} 

    int i,j,n=5

    for( i=0i<n-1i++ )

for( j=i+1j<nj++ ) //每一遍都与当前a[i]比较

if ( a[i] < a[j] ) //大的前移

{

int t=a[i]

a[i]=a[j]

a[j]=t 

}

for( i=0i<ni++ )

printf("%d ", a[i] )

}