c语言数组比较大小排序
答:C语言将数组元素大小排序方法:以下使用的是冒泡排序法实线数组从小到大排序。思想:每次相邻两个数比较,若升序,则将大的数放到后面,一次循环过后,就会将最大的数放在最后。10、2、3、4、5、6、9、8、7、1是输入的待排序的数列,经过第一次排序,将最大的,10放在最后,第二次排序,将剩下的...
答:include "stdio.h"int main(){ int i,j;int a[12];for(i=1; i<=10; ++i)scanf("%d",&a[i]);for(i=1; i<10; ++i)for(j=i; j<=10; ++j)if(a[i]<a[j]){ int t=a[i];a[i]=a[j];a[j]=t;} //前十个数的排序 for(i=1; i<=10; ++i)printf("%d ",...
答:C语言大牛雅荐的七大经典排序算法 1.冒泡排序 比较相邻的元素。如果第一个比第二个大,就交换它们两个对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最后一个;重复步骤1~3,直到排序完成。 2.选择排序 在未排序序列中找到最...
答:include<iostream> using namespace std;int main(){ void select_sort(int arry[],int n)int a[10],i;for(i=0;i<=9;i++){ cin>>a[i];} cout<<endl;cout<< select_sort(a,10); //函数调用,数组名作实参 for(i=0;i<=9;i++) //输出10个已经排好序的数 { cout<<...
答:这样:int *a = (int *)malloc(sizeof(int) * n); //动态分配数组空间 ,有几个元素,n就是几。for(i=0; i<n; i++){ a[i]=录入数值;} Sort(a, n);for(j=0; j<n; j++){ printf("%d",a[ij);//输出的内容就是排序好了的 }//下面方法是用来排序的 void Sort(int *a...
答:(1)“冒泡法”冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i ],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。下面列出其代码:void bubble(int *a,int n) /*定义两个参数:数组首地址与数组大小*/ { int i...
答:for (i=0;i<10;i++) //在c语言中,数组的下标从0开始 printf("%5d",a[i]); //输出这10个数 printf("\n"); //以下8行是对这10个数排序 for (i=0;i<10;i++){min=i;for(j=i+1;j<10;j++)if (a[min]>a[j]) min=j;temp=a[i]; //以下3行将a[i+1]~a[10]中...
答:include<stdio.h> int main(void){ int n,i,index,k,temp = 0;int a[10];printf("Enter n:");scanf("%d",&n);printf("Enter d numbers:",n);for (i = 0;i < n;i++)scanf("%d",&a[i]);for (k = 0;k < n;k++){ index = k;for (i = k + 1;i < n;i++)...
答:简单的末位比较排序,从最后一个数a[i-1]开始和x比较,大于x的向后移一位,比如a[i-1] > x,就将a[i-1]的数值写给a[i],所以第一个空应该添i-1。最后比较到a[4]的时候while循环跳出,这个时候的数据x要回填到a[5]的位置,所以第二个空应该添i++或i+1。所以说答案是:第一个填 i...
答:选择法排序 输入n(n<10), 再输入n个数,用选择法将它们从小到大排序后输出。void main(){ int i, index, k, n, temp, a[10];scanf(“%d”, &n);for(i=0; i<n; i++) scanf(“%d”, &a[i]);for(k=0; k<n-1; k++){ index=k;for(i=k+1; i<n; i++)if(a[...
网友评论:
盖怀18436574874:
用C语言编写一个比较数的大小并排序的程序? -
19123柯呼
: #include<stdio.h> void BubbleStort() { int i,j; int arr[7]; printf("请输入要排数字:\n"); for(i=0;i<=6;i++) scanf("%d",&arr[i]); for(i=1;i<=6;i++) { for (j=0;j<=6-i;j++) { if(arr[j]>arr[j+1]) { int t; t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } }} printf("排序后的数...
盖怀18436574874:
C语言中用数组如何对数据进行大小排列,可有程序参考?谢谢! -
19123柯呼
: 我把你的程序作了如下修改:#define NUM 10 main() { int a[NUM],i,j,r,temp; printf("please input %d number\n",NUM); for(i=0;i<NUM;i++) scanf("%d",&a[i]); for(i=0;i<NUM-1;i++) { /*我这里没有使用r=i*/ for(j=i+1;j<NUM-1;j++) /*你的程序问...
盖怀18436574874:
C语言中怎么把三个整数从小到大排列 -
19123柯呼
: 方法如下:1.从控制台读入三个数; 2.实现三个数从小到大排序: (1)将第一个数作为最小数,依次和第二,三个数进行比较.两次比较重如果有任意一个比第一个小,则将两个数交换 ; (2)在(1)步后,得到第一个数为最小数.再将第二个数与第三个数比较大小后即可实现三个数从小到大排序. 拓展资料 两种常用排序方法: 1.选择排序法:从一列数中,选择第一个作为最小数,依次和后面的数进行比较.如有比第一个数小的数,则交换两个数.最后排到该列数都倒数第二个时,这列数就从小到大排好了顺序. 2.冒泡排序法:思路与选择排序法一致.不同的是,冒泡排序将第一个作为最大数,然后再和该数后的数进行比较.
盖怀18436574874:
C语言怎样给一个数组中的数从大到小排序 -
19123柯呼
: 学一学冒泡排序.这个算是最简单的排序方法,以后有机会再接触接触其他的排序方法
盖怀18436574874:
c语言 定义一个函数,将一个一维数组中数据从小到大排序 -
19123柯呼
: #include<stdio.h> #define N 10 void sortarray(int *a,int n) { int i,j,k; for ( i=0;i<n-1;i++ ) for ( j=i+1;j<n;j++ ) if ( a[i]>a[j] ) {k=a[i];a[i]=a[j];a[j]=k;} } void main() { int a[N],i; for ( i=0;i<N;i++ ) scanf("%d",&a[i]); for ( i=0;i<N;i++ ) printf("%d ",a[i]); printf("\n...
盖怀18436574874:
C语言中如何从大到小排列一个数组中的元素 -
19123柯呼
: 先找不是0的元素个数 然后对前面部分进行排序即可. 函数如下 void my_sort(int *a) { int n,i,j; int t; for(n = 0; a[n]; n ++); for(i = 0; i < n-1; i ++) for(j = i+1; j<n; j++) if(a[i]<a[j]) { t = a[i]; a[i]=a[j]; a[j]=t; } }自己写主函数 调用my_sort就好了.
盖怀18436574874:
C语言编程 数组从大到小排列 -
19123柯呼
: 我是这样想的啊,仅供知参考 定义两个变量 maxNum 和 minNum(类型应该是int吧) 然后把数组的第一个元素道赋给这个两个变量 进行FOR循环(从第二个元素开始) 比较当前元素与最大最小元素的大小 大了赋给maxNum 小了赋给minNum 用伪代码表示:maxNum=a[0] minNum=a[0] for(i=1;i<N;i++) { if(a[i]<minNum) minNum=a[i] if(a[i]>maxNum) maxNum=a[i] } printf(最大值是maxNum,最小值是minNum) 不一定对 个人想法
盖怀18436574874:
C语言,用选择法对数组中10个整数按由小到大排序?求解释!!! -
19123柯呼
: 首先以array[0]作为参照,从左到右扫描,找到最小的数据与array[0]位置交换. 接下来以array[1]作为参照,重复上述过程. ... k=i定位参照 k=j找到剩下数组中最小值
盖怀18436574874:
c语言用数组的简单排序将数从大到小排列 -
19123柯呼
: #include#define N 10 void main() { // const int N=10; int a[N],max,min,temp,i,j; for(i=0;i<10;i++) scanf("%d",&a[i]); for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } min=a[0]; max=a[9]; for(i=0;i<10;i++) printf("%d ",a[i]); printf("max=%d",max); printf("min=%d",min); }
盖怀18436574874:
C语言采用选择法对数组元素按从大到小的顺序排列 -
19123柯呼
: #include<stdio.h>#define SIZE 10 main() { int a[SIZE]={3,8,7,6,5,0, 1,2,9,4}; int max,pos; int i,j; printf("数组中原存放数据是:\n"); for(i=0;i<SIZE;i++) printf("%3d",a[i]); for(i=0;i<SIZE-1;i++){ max=a[i];pos=i; for(j=i+1;j<SIZE;j++)if(a[j]>max) {...