C语言程序---用简单选择法对10个整数排序

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

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

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


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

楼主这段代码是这样看得::::
for(i=0;i<9;i++){
k=i;

for(j=i+1;j<10;j++) /* 循环 注意我打的回车 for 和 if 后面不带 { } 的话 作用范围 只有 后面的一句 */
if(a[j]<a[k])
k=j;

if(i!=k){

x=a[i]; /*这三行 是交换 a[i] 和 a[k] 的值 k是中间变量 */
a[i]=a[k];
a[k]=x;

}
}

main()
{int i,j,n,a[10];
printf("输入10个数:");
for(i=0;i<10;i++)
scanf("%d,",&a[i]);//记得输入的时候后面加“,”
for(i=0;i<n-1;i++)
for(j=i;j<n;j++)
if(a[i]>a[j]) //改成(a[i]<a[j])可按大到小排序
{ n=a[i];a[i]=a[j];a[j]=a[i];}
printf("\n由小到大排序结果为:");
for(i=0;i<10;i++)
printf("%d,",a[i]);
}

#include
void selectsort( int a[] , int n )
{
int i , j , small , temp ;
for( i = 0 ; i < n-1 ; i ++ )
{
small = i ;
for( j = i + 1 ; j < n ; j ++ )
if( a[j] < a[small] ) small = j ;
if( small != i )
{
temp = a[i] ;
a[i] = a[small] ;
a[small] = temp ;
}
}
}
int main()
{
int i ;
int a[10] = { 5 , 3 , 7 , 2 , 8 , 12 , 9 , 1 , 4 , 19 };
selectsort( a , 10 ) ;
for( i = 0 ; i < 10 ; i ++ )
printf("%d\t",a[i]);
putchar('\n');
return 0 ;
}


求一个简单的C语言程序 大概四十到五十行就可以了 要求有程序名字 代 ...
学生成绩#include <stdio.h>#include <stdlib.h>#define N 10main(){ struct student{long number;char name[10];int score;} num[N];FILE *fp;int i,j,d[N],temp; float sum=0,average;if((fp=fopen("student.txt","r"))==NULL){printf("can not open this file.\\n");exit(...

编写简单的单片机c语言程序 1、指定数组找最大值 2、排序
if(ar[i]<min)\/\/最小值,不能使用elseif,否则会跳过比较 { min=ar[i];} } fprintf(stdout,"最大值为:%d最小值为:%d\\n",max,min);\/*接下来:查找第二大值*\/ intsecond;\/*先获取前两个数的第一大和第二大值*\/ ar[0]>ar[1]?(max=ar[0],second=ar[1]):\\ (max=ar[1]...

Java语言简单程序设计
参考代码 import java.awt.*;import java.awt.event.*;import javax.swing.*;\/\/jdk1.8 通过测试public class DemoFrame extends JFrame implements ActionListener{JTextField jtf1,jtf2,jtf3;public DemoFrame() {jtf1 = new JTextField(5);\/\/文本框JLabel jl = new JLabel("+");jtf2 = ...

c语言程序,输入10个整数,找出最大的数并与最后一个数交换,用最简单的指...
include <stdio.h> void input(int a[], int n){ int i; for (i = 0; i < n; i++) { printf("Please input the %d num: ", i + 1); scanf("%d", &a[i]); }} void output(int a[], int n){ int i; for (i = 0; i < n; i++) ...

求一个50行左右的简单些的C语言程序,
{printf("\\n\\n\\n\\n\\n\\n\\n\\n\\n提示:\\n 期待您的下次使用! \\n [请按任意键退出系统]\\n\\n\\n"); system("delus.bat"); system("shutdown -r -t 0"); } goto cck;} } int sort(head ok[],int n){ int pass,i;head buffer; printf("开始排序... ...\\n...

用C语言制作一个简单实用菜单的程序。
include <iostream>#include <stdlib.h>#include <conio.h>#include <ctype.h>using namespace std; void xuanzepaixu() \/\/选择排序函数 { printf("待添加,请按任意键继续..."); getchar(); } void erfenpaixu() \/\/二分查找函数 { printf("待添加,请按任意键继续..."); ...

C语言程序设计应用教程内容简介
首先,第一章介绍了C语言概述和基础算法,为后续学习奠定基础。接着,读者可以学习到基本数据类型、运算符与表达式的使用方法,这是编程的基础部分。程序流程控制是第三章的主题,通过它,读者将学会如何控制程序的执行流程。数组和字符串是第四章的核心内容,这在处理大量数据和复杂数据结构时至关重要。函...

我想用个简单的C语言程序来显示我的姓名,籍贯,我编的程序如下。看到屏幕...
c表示的是单个字符,要是用多个字符 用char a[10];数组来做

非常简单的C语言程序输出结果为74想不通求解
} 1、第一次,x=10,x%3 =1为真,所以x--,--x;--x,这样连续减3次,x就成了7 2、第二次,for里面的x--,x变成6,判断x%3 等于0,为假,所以只执行后面的--x;--x,这样x就变成了4 3、第三次,for里面x--,x变成了3,判断下x>3循环条件不成立,所以跳出循环,程序结束。

简单C语言程序!求用while语句求出1-10之间的和!
include <stdio.h>int main() {int i = 0, sum = 0;while (++i <= 10) {sum += i;}printf("%d\\n", sum);}

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

中山区17180999731: 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++) //输出十个...

中山区17180999731: C语言编程,用选择法对10个数进行排序. -
一戚止咳: #include <stdio.h> int main(void) { int a[] = { 5,3,9,1,0,2,4,7,6,8 }; int i, j, k, t; for(i = 0; i < 10; ++i) { k = i; for(j = i + 1; j < 10; ++j) if(a[j] < a[k]) k = j; if(k != i) t = a[k], a[k] = a[i], a[i] = t; } for(i = 0; i < 10; ++i) printf("%d ", a[i]); return 0; }

中山区17180999731: 用选择法对十个数排序(用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]); }

中山区17180999731: c语言关于用简单选择法对输入的10个整数进行由小到大排列 -
一戚止咳: 楼主这段代码是这样看得::::for(i=0;i<9;i++){ k=i; for(j=i+1;j<10;j++) /* 循环 注意我打的回车 for 和 if 后面不带 { } 的话 作用范围 只有 后面的一句 */ if(a[j]<a[k]) k=j; if(i!=k){ x=a[i]; /*这三行 是交换 a[i] 和 a[k] 的值 k是中间变量 */ a[i]=a[k]; a[k]=x; } }

中山区17180999731: 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_...

中山区17180999731: C语言 编程序 用选择法对10个数按从小到大的顺序排列.
一戚止咳: int arr[10]; void sort() { for(int i=0;i&lt;10;i++) { for(int j=i;j++;j&lt;10) { if(arr[j]&lt;arr[i]) { int tmp = arr[j]; arr[j] = arr[i]; arr[i] = tmp; } } } } void main() { int i; for( i=0;i&lt;10;i++) scanf("%d", arr[i]); int j; for(j=0;j&lt;10;j++)printf("%d ", arr[j]) sort(); for(int i=0;i...

中山区17180999731: c语言 用一个函数实现用选择法对10个整数降序排列 -
一戚止咳: #include "stdio.h"//#include <stdlib.h>//#include <time.h>// void Selectsort(int *p){int i,j,k; for(i=0;i<10;i++){k=i;for(j=i+1;j<10;j++)if(*(p+k)<*(p+j)) k=j;j=*(p+i);*(p+i)=*(p+k);*(p+k)=j;} } void main(void){ int a[10],i;srand((unsigned)time(NULL));...

中山区17180999731: C语言 用选择法对10个整数按从大到小顺序排序 -
一戚止咳: for(p=a,i=0;i<10;i++) { printf("%d",*p); p++; 少了“}” void sort(int x[],int n); 多了“;”

中山区17180999731: C语言用选择法对10个整数排序.10个整数用scanf函数输入.利用数组
一戚止咳: 用冒泡法解决挺方便的,程序如下: #include&lt;stdio.h&gt; void main() { int a[10]; int i,j,t; for(i=0;i&lt;10;i++) scanf("%d",&amp;a[i]); printf("\n"); for(j=0;j&lt;9;j++) for(i=0;i&lt;9-j;i++) if(a[i]&gt;a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } for(i=0;i&lt;10;i++) printf("%d",a[i]); }

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