成都创新互联网站制作重庆分公司

排序大小函数c语言 c中排序函数

C语言用函数写个代码来给数字大小序号排序

#includestdio.h

成都创新互联公司网站建设公司,提供网站建设、网站制作,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

#define N 100

void paixu(int *, int *, int);//声明函数

int main()

{

int a[N],c[N];

int i,n=0;

printf("请输入n个整数:");

for(i=0i++)

{

scanf("%d",a[i]);

n++;

if(getchar()=='\n')

break;

}

paixu(a, c, n);//调用函数,数组只需给出数组名

return 0;

}

void paixu(int a[N],int c[N], int n)

{

int i,j,s=0;

for(i=0;in;i++)

{

c[i]=0;

}

for(i=0;in;i++)

for(j=i+1;jn;j++)

{

if(a[i]==a[j])

c[i]=1;

}

for(i=0;in;i++)

{

s=1;

for(j=0;jn;j++)

{

if(c[j]==0a[i]a[j])

{

s++;

}

}

printf("%d ",s);

}

}

求C语言将数组元素大小排序!!

C语言将数组元素大小排序方法:

以下使用的是冒泡排序法实线数组从小到大排序。

思想:每次相邻两个数比较,若升序,则将大的数放到后面,一次循环过后,就会将最大的数放在最后。

10、2、3、4、5、6、9、8、7、1是输入的待排序的数列,经过第一次排序,将最大的,10放在最后,第二次排序,将剩下的2、3、4、5、6、9、8、7、1进行冒泡,将当前最大的9放在倒数第二的位置,以此类推。

以下是具体代码:

#include stdio.h

int main(){

int nums[10] = {10, 2, 3, 4, 5, 6, 9, 8, 7, 1};

int i, j, temp, isSorted;

//优化算法:最多进行 n-1 轮比较

for(i=0; i10-1; i++){

isSorted = 1;  //假设剩下的元素已经排序好了

for(j=0; j10-1-i; j++){

if(nums[j] nums[j+1]){

temp = nums[j];

nums[j] = nums[j+1];

nums[j+1] = temp;

isSorted = 0;  //一旦需要交换数组元素,就说明剩下的元素没有排序好

}

}

if(isSorted) break; //如果没有发生交换,说明剩下的元素已经排序好了

}

for(i=0; i10; i++){

printf("%d ", nums[i]);

}

printf("\n");

return 0;

}

扩展资料:

其他将数组从小到大排序的算法

以下使用的是选择排序法实现数组从小到大排序。

思想:从第一个数开始,每次和后面剩余的数进行比较,若升序,则如果后边的数比当前数字小,进行交换,和后面的所有的数比较、交换后,就会将当前的最小值放在当前的位置

输入的序列为10、2、3、4、5、6、9、8、7、1进行一次排序后将最小的数放在了第一位(a[0]与它后面的所有数进行比较,若a[0]比后面的数大,进行交换),以此类推。

以下是具体代码:

#include stdio.h

int main(void){

int a[1001];

int n,i,j,t;

scanf("%d",n);//n为要排序的数的个数

//输入需要排序的数

for(i=0;in;++i)

scanf("%d",a+i);

//接下来进行排序

for(i=0;in-1;++i)//因为每次需要和a[i]后面的数进行比较,所以到a[n-2](倒数第2个元素)就行

{

for(j=i+1;jn;++j)//j从i后一个开始,a[i]与a[j]进行比较

{

if(a[i]a[j])//a[i]为当前值,若是比后面的a[j]大,进行交换

{

t=a[i];

a[i]=a[j];

a[j]=t;

}

}//每排序一次,就会将a[i](包括a[i])之后的最小值放在a[i]的位置

for(j=0;jn;++j)

printf("%-5d",a[j]);

printf("\n\n");

}

return 0;

}

C语言怎么比较字母的大小顺序,用函数

#include stdio.h

#include string.h

const int MAXLEN = 100;

void mysort(char s[][MAXLEN],int n) {

int i,j,k;

char tmp[MAXLEN];

for(i = 0; i  n - 1; ++i) {

k = i;

for(j = i + 1; j  n; ++j) {

if(strcmp(s[k],s[j])  0) k = j;

}

if(i != k) {

strcpy(tmp,s[k]);

strcpy(s[k],s[i]);

strcpy(s[i],tmp);

}

}

}

int main() {

char s[5][MAXLEN];

int i;

for(i = 0; i  5; ++i) {

printf("输入字符串(%d/%d):",i + 1,5);

scanf("%s",s[i]);

}

printf("排序前:\n");

for(i = 0; i  5; ++i)

printf("%s\n",s[i]);

mysort(s,5);

printf("\n排序后:\n");

for(i = 0; i  5; ++i)

printf("%s\n",s[i]);

return 0;   

}


文章名称:排序大小函数c语言 c中排序函数
文章源于:http://cxhlcq.com/article/ddedcso.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部