用选择法对输入的10个整数排序

作者&投稿:南力 (若有异议请与网页底部的电邮联系)
用C语言编程:用选择法对10个整数排序,10个整数用scanf函数输入~

1、打开visual C++ 6.0,准备一个空白的c语言文件,引入头文件,在main函数中定义变量和数组:

2、接下来用scanf函数输入的10个数,将输入的数存入到变量a中,接着进行比较排序,如果后一个数比前一个数大则利用中间变量t实现俩值互换,最后输出排序的结果:


3、编译运行程序,输入任意的10个数,回车后即可看到排序后的结果。以上就是c语言中选择排序的用法:

#include
void sort(int array[],int n)
{ // n 为数组元素个数
int i,j,k,temp; // i 为基准位置,j 为当前被扫描元素位置,k 用于暂存出现的较小的元素的位置
for(i=0;i<n-1;i++)
{
k=i;//初始化为基准位置
for(j=i+1;j<n;j++)
{
if (array[j]<array[k]) k=j ; // k 始终指示出现的较小的元素的位置
} //for
if(k!=i)
{
temp=array[i];
array[i]=array[k];
array[k]=temp; // 将此趟扫描得到的最小元素与基准互换位置
}
}
}
int main()
{
int a[10]={1,3,6,8,9,7,5,4,2,1};
int i;
printf("before
");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
sort(a,10);
printf("
after
");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}

#include<stdio.h>
int main()
{int i,j,k,t,a[10];
 for(i=0;i<10;i++) //输入10个整数 
   scanf("%d",&a[i]);
 for(i=0;i<9;i++) //排序10个数,需要9轮 
 {k=i; //当前最小值的编号 
  for(j=i+1;j<10;j++) //扫描后续所有元素 
     if(a[j]<a[k])k=j; //如后面的元素更小,就更新最小编号 
  t=a[i]; a[i]=a[k]; a[k]=t; //把最小的元素交换到第 i 位 
 }
 for(i=0;i<10;i++) //输出排好序的元素值 
   printf("%d ",a[i]);
 return 0;
}


c语言代码加下

#include<stdio.h>

int main()
{
int a[10],i,j,t;//定义数组; 
for(i=0;i<10;i++){
scanf("%d",&a[i]);//给数组赋值; 
}
for(i=0;i<9;i++)//10个数,进行9轮比较; 
for(j=0;j<10-i;j++){//第一个数比较9次,依次递减; 
if(a[j]>a[j+1]) {//交换值; 
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<10;i++){
printf("%d\n",a[i]);//输出数组的值; 
}

return 0;
}

选择法排序的程序如下:

很简单的。



文字输入超过字数限制,见图片吧



#include <stdio.h> main() { void sort(int *p,int n); int *q,i,a[10]; q=a; for(i=0;i<10;i++,q++) scanf("%d",q); q=a; sort(q,10); for(q=a;q<(a+10);q++) printf("%d\t",*q);/*你的输出结果不明显*/ printf("\n"); getch(); /*让程序停留一下,以便观察结果*/ } void sort(int *p,int n) { int i,j,temp,k; for(i=0;i<n-1;i++)/*此处你应该忘了花括号*/ { k=i; for(j=i+1;j<n;j++) if(*(p+j)>*(p+k))k=j; { temp=*(p+i); *(p+i)=*(p+k); *(p+k)=temp; } } }


C语言程序 用选择法对十个数排序
include <stdio.h> int main(){int i,j,min,temp,a[11];printf("enter data:\\n");for (i=1;i<=10;i++){printf("a[%d]=",i);scanf("%d",&a[i]);} printf("\\n");printf("The orginal numbers:\\n");for (i=1;i<=10;i++)printf("%5d",a[i]);printf("\\n");for...

用选择法对10个整数从小到大排序
用选择法对10个整数排序,用scanf输入。你用下面这种输入方法就可以了。 # include<stdio.h> int main() { int i,j,min,temp,a[10]; printf("enter data:\\n"); for (i=0;i<10;i++) { printf("please enter ten numbers:\\n"); scanf("%d",&a[i]); \/\/输入10个数 } printf("\\n"); pr...

从键盘输入10个整数,编写程序用选择排序法对这十个数降序排列,要求主函 ...
include<stdio.h> int main(){int i,j,k,t,a[10];for(i=0;i<10;i++)\/\/输入10个整数 scanf("%d",&a[i]);for(i=0;i<9;i++)\/\/排序10个数,需要9轮 {k=i;\/\/当前最小值的编号 for(j=i+1;j<10;j++)\/\/扫描后续所有元素 if(a[j]<a[k])k=j;\/\/如后面的元素更小,...

c语言的两种排序?
1、选择排序法 要求输入10个整数,从大到小排序输出 输入:2 0 3 -4 8 9 5 1 7 6 输出:9 8 7 6 5 3 2 1 0 -4 代码:include<stdio.h> int main(int argc,const char*argv[]){ int num[10],i,j,k,l,temp;\/\/用一个数组保存输入的数据 for(i=0;i<=9;i++){ scanf(...

从键盘中输入10个双精度浮点数,用选择法进行从小到大排序并打印输出_百 ...
include<stdio.h>void sort(double d[],int n){int i,j,max;double t;for(i=n-1;i>=1;i--){max=0;for(j=1;j<=i;j++)if(d[max]<d[j])max=j;t=d[max]; d[max]=d[i]; d[i]=t;}}int main(){double data[10];int i;for(i=0;i<10;i++)scanf("%lf",&data...

C语言用冒泡法和选择法对10个数进行排序
include<stdio.h> \/ 选择排序法对十个整数进行排序 \/ \/\/n为数组长度;void sort(int a[],int n){ int temp,min;for(int i=0;i<n;i++){ min=i;\/\/先假设最小下标为i for(int j=i+1;j<n;j++)if(a[j]<a[min])min=j;\/\/对i之后的数进行扫描将最小的数赋予min if(min!=i...

⑩圈11 、12、13、14等以上的怎么输入?急需,谢谢
举例输入带圈10的符号方法如下:1、先输入数字10;2、选中10,然后点击“开始”;3、在开始选择栏里面,点击下图圈着的那个格式图标,即带圈字符格式;4、在弹出来的窗口选择你要的样式以及圈号,然后点击确定就可以了;5、点击确定之后,就能看到原先输入的数字10变成带圈圈的数字10了。

c语言中起泡法和选择法有什么不同,急!,谢谢!
i<10;i++)printf("%d ",a[i]);printf("\\n");return 0;}二、选择法 1、算法示例要求:用选择法对10个整数按降序排序。2、算法分析:每趟选出一个最值和无序序列的第一个数交换,n个数共选n-1趟。第i趟假设i为最值下标,然后将最值和i+1至最后一个数比较,找出最值的下标,若...

如何在Java中从键盘输入10个数,用选择法按降序排序并输出?
在Java中在数组中保存10个数,调用下面的排序函数,用选择法按降序排序:public static void selectionSort(int[] arr){ for (int i = 0; i < arr.length - 1; i++) { int max = i; for (int j = i + 1; j < arr.length; j++) { if (arr[max] < arr[j]) ...

win10的输入法怎么设置(win10的输入法怎么设置好墨迹)
8. win10如何减少输入法1、关闭输入法。2、把游戏切换成全屏模式就可以了。3、进入系统设置,把系统自带的输入法删除。(右击“开始”按钮找到“控制面板”;在控制面板打开“时钟、语言和区域”设置界面在“语言”设置里点击“添加语言”,“更改语言首选项中”单击“添加语言”;在添加语言设置下拉菜单里选择“英语”...

金湖县19689895747: 任意输入10个整数的数列完成下列运算 要求用选择排序法将数列由小到大排序;( -
益睿盖诺:[答案] #include"stdio.h" void main() { int i,j,t,a[10]; printf("pluase input 10 numbers:\n"); //输入 for(i=0;i

金湖县19689895747: 2、 用选择法对10 个整数排序.10 个整数用scanf 函数输入.选择法的排序思想是从所有元素中选择一个最小元 -
益睿盖诺:[答案] #include "stdio.h" main() { \x09int a[10],i,j,t; \x09printf("输入10个整数\n"); \x09for(i=0;i

金湖县19689895747: C语言中如何用选择法将10 个整数排序 -
益睿盖诺: #include <stdio.h> void main() { void sort(int arry[],int n);//函数声明 int a[10],i; printf("enter the array:\n"); for(i=0;i<10;i++) //输入十个数 scanf("%d",&a[i]); sort(a,10);//调用排序函数 printf("the sorted array:\n"); for(i=0;i<10;i++) //输出十个...

金湖县19689895747: 用选择法对10个整数排序 -
益睿盖诺: void SelectSort(int L[]) {// 对顺序21135261表4102L作简单1653选择版排序权int i,j,k;for (i =1; i < n; i++) {k = i;for (j = i+1; j <= n; j++)if (L[j] < L[k]) k=j;if(k!=j){L[0] = L[k]; L[k] = L[i]; L[i] =L[0];}} } // SelectSort

金湖县19689895747: C语言 怎么样用选择法对10个整数排序? -
益睿盖诺: 选择法排序是一种简单的容易实现的对数据排序的算法.以整形数组元素为例,有数组A[10],即A[0],A[1],…,A[8],A[9](假设其元素均互不相同).要求对其元素排序使之递增有序.首先以一个元素为基准,从一个方向开始扫描,比如从左至...

金湖县19689895747: c语言编程用选择法对10个整数排序 -
益睿盖诺: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30#include<stdio.h> voidselectsort(int*list,intlen) //选择排序dao {inti,j;专inttemp, max_idx;for(i=0;i<len - 1;i++){属max_idx = 0;for(j=0;j<len-i;j++){if(list[max_...

金湖县19689895747: 从键盘输入十个整数,用选择法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出 -
益睿盖诺: #include using namespace std; void collocate(int a[]);int main() {int i,a[10];coutfor(i=0;i cin>>a[i]; collocate(a); for(i=0;i cout coutreturn 0; }void collocate(int a[]) {int i,j,temp; for(i=0;i {for(j=i+1;j {if(a[j] {temp=a[j];a[j]=a[i];a[i]=temp;}}} }

金湖县19689895747: 用选择法对10个整数排序.
益睿盖诺: void main() { int A[10]; int i,j; for( i=1;i<11;i++) A[i]=i; int min=0; int temp; for(i=0;i<10;i++) {min=A[i]; for(j=i+1;j<11;j++) if(min>A[j]) { temp=min; min=A[j]; A[j]=temp; } } }

金湖县19689895747: C语言如何用选择法排序任意输入十个数(从大到小、从小到大)? -
益睿盖诺: #include <stdio.h> main(void) {int i,j,a[10],p=0,t=0,temp; printf("请输入原数组:\n");for(j=0;j<10;j++)scanf("%d",&a[j]);temp=a[0]; for(j=0;j<9;j++){t=j;temp=a[j];for(i=j+1;i<10;i++)if(temp>a[i]) //这是由小到大排序 如果是大到小则改...

金湖县19689895747: 用选择法对十个数排序(用C语言) -
益睿盖诺: #include <stdio.h> main() { static int temp,a[]={7,5,6,8,9,4,1,0,2,3}; int i,j; for (i=0;i<n;i++) for (j=i+1;j<n;j++) if (a[j]<a[i]) { temp=a[j]; a[j]=a[i]; a[i]=temp; } printf("%d",a[i]); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网