当前位置:首页 » 编程语言 » 排序输入c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

排序输入c语言

发布时间: 2023-05-27 04:34:11

c语言:对输入的十个数进行从小到大排序

1、首先打开编辑软件,新建一个c程序空文件,引入标准库和主函数,定义一个QuickSort函数用来排序,下面首先编写排序函数的:

㈡ 用c语言编程:键盘上输入N个整数,使该数组中的数按照从小到大的次序排列(选择法排序)

#include "stdio.h"

#define N 10

int main(int argc,char *argv[]){

int a[N],i,j,k;

printf("Please enter %d integer(s)... ",N);

for(i=0;i<N;scanf("%d",a+i++));//输入

for(i=0;i<N;i++){//选择法排序

for(k=i,j=k+1;j<N;j++)

if(a[k]>a[j])

k=j;

if(k!=i)

j=a[k],a[k]=a[i],a[i]=j;

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

}

printf(" ");

return 0;

}

代码图片和运行样例:

㈢ C语言:将输入的字符串按首字母顺序排列。

#include<stdio.h>

#include<string.h>

void sort(char *a[]);

void print(char *a[]);

int main()

{

char *a[] ={"ceo","define","basic","abc","empty"};

printf("原来的序列是: ");

print(a);

sort(a);

printf(" 排序后的序列是: ");

print(a);

printf(" ");

return 0;

}

void sort(char *a[])

{

int i,j;

char *temp;

for(i=0;i<4;i++)//注意是i<4

{

for(j=0;j<4;j++)//注意是j<4,因为下面要+1和后面的那个字符串比较

{

if(strcmp(a[j],a[j+1])>0)//字符串比较:>0表示前面的字符串比后面的大则交换

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

}

void print(char *a[])

{

int i;

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

{

printf("%s ",a[i]);

}

}

运行效果:

(3)排序输入c语言扩展阅读:

return 0的用法:

return的作用是结束正在运行的函数,并返回函数值。return后面可以跟一个常量,变量,或是表达式。

函数的定义一般是这样的,例如:

inta(inti)//第一个int是函数的返回值的类型,也就是return后面跟的值的类型,a是函数的名称,括号里的是传递给函数的参数,int是参数的类型,i是参数的名字

...//省略函数体内容

returnb;//b必须与函数头的返回值一致(此处为int型)

简单函数举例:

intaddOne(intb)

returnb+1;

该函数的作用是取得一个数,将这个数加上1,再将结果返回

调用时这样:

intresult=addOne(2);//此时result的值为3

函数括号里的参数也可以为变量或能算出值的表达式

以上就是一个基本的函数,一般的函数都有返回值,也就是return后面跟的值,返回值可以为各种数据类型,如:int,float,double,char,a[](数组),*a(指针),结构或类(c++)

但不是所有函数都有返回值,如果某个函数无返回值,那么返回值的位置则为“void”关键字,此时函数体中无返回值,即无return的值。但是函数中也可出现return,即一个空的return句子,其作用是使函数立即结束,如voidprint()//括号中为空表示无传递参数、

printf("a");

printf("b");

return;//函数执行到此处结束

printf("c");

}//该函数只执行到return语句处,即屏幕上输出的为"ab"

㈣ C语言如何输入十个数,按从大到小顺序排列!

代码如图所示:

#include<stdio.h>

int main()

{

int i,j,a[10],t;

printf("请输入十个数:");

for (i = 0; i < 10; i++)

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

for (i = 0; i < 10; i++)

{

for (j = i + 1; j < 10;j++) //循环

if (a[i] < a[j]){

t = a[i];

a[i] = a[j];

a[j] = t;

}

}

printf("从大到小排序后:");

for (i = 0; i < 10; i++)

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

return 0;

}

(4)排序输入c语言扩展阅读

C语言顺序排列题的其他解法

#include <stdio.h>

int main()

{

int a[10];

int i,j;

int temp;

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

for(i=0;i<10;i++)

{

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

}

for(i=0;i<9;i++)

{

for(j=0;j<9-i;j++)

{

if(a[j]>a[j+1])

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

printf("排列后顺序为:");

for(i=0;i<10;i++)

{

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

}

printf(" ");

return 0;

}

㈤ C语言,输入一组数进行排序,由大到小排列,用自定义函数实现

给你一个直接插入排序
#include "stdio.h"
void InsertSort(int a[], int left, int right) {//对数组a从下标为left到right区域进行直接插入排序
int i, j, tmp;
for(i = left + 1; i <= right; i++) {
for(j = i - 1, tmp = a[i]; j >= left && tmp > a[j]; j++)
a[j + 1] = a[j];
a[j + 1] = tmp;
}
}

void main( ) {
int i, n, a[100];
scanf("%d", &n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
InsertSort(a, 0, n - 1);
printf("\n");
for(i = 0; i < n; i++) printf("%d\t", a[i]);
}

㈥ C语言如何输入十个数,按从大到小顺序排列!

用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:

#include<stdio.h>

int main()

{

int i,j,a[10],t;

printf("输入数");

for (i = 0; i < 10; i++)

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

for (i = 0; i < 10; i++)

{

for (j = i + 1; j < 10;j++)

if (a[i] < a[j]){

t = a[i];

a[i] = a[j];

a[j] = t;

}

}

printf("从大到小");

for (i = 0; i < 10; i++)

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

return 0;

}

(6)排序输入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 ",a[i]);//输出数组的值;

}

return 0;

}

}

printf("the sorted numbers: ");

for(i=0;i<10;i++)

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

printf(" ");

}

㈦ 怎样用C语言使输入的数按升序排列

还是简单给你个程序吧!这样你也好理解;
#include <stdio.h>
void main()
{
int a,b,c,t;
printf("input the numbers:\n");
scanf("%d%d%d",&a,&b,&c);//输入三个数;
if(a>b){t=a;a=b;b=t;}//如果a比b大,那么交换枝枯a,b的值
if(a>c){t=a;a=c;c=t;}//如果a比c大,交换a,c的值
if(b>c){t=b;b=c;c=t;}//如果b比c大,交换b,c的值
printf("%d,%d,%d"册搭闭,a,b,c);
}
3个数共州裂比较3次,每两个数都要比较一次;
要是4个数就要6次 比方说
a,b,c,d
(a>b)(a>c)(a>d)(b>c)(b>d)(c>d)

㈧ C语言中输入一串字符,怎样让它按照字母从小到大的顺序排列

这可以把字符串输入到字符数组中,然后采用排序的方法来实现:
(需要包含<string.h>头文件)
char t,s[200];
int i,i;
gets(s);
for(i=0;i<strlen(s)-1;i++)
for(j=0;j<strlen(s)-1-i;j++)
if(s[j]>s[j+1])
{t=s[j]; s[j]=s[j+1]; s[j+1]=t;}
puts(s);