c语言数字排列
⑴ 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;
}
(1)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语言中将三个数字进行排序的几种写法
方法1:用3个变量存放3个数字,按从大到小的顺序排:
int a,b,c,tmp;
printf("请输入3个数字:");
scanf("%d%d%d",&a,&b,&c);
if(a<b)//如果a比b小,交换a和b的值,使a存放大的数字
{
tmp=a;
a=b;
b=tmp;
}
if(a<c)//如果a比c小,交换a和c的值,使a存放大的数字
{
tmp=a;
a=c;
c=tmp;
}
if(b<c)//如果b比c小,交换b和c的值,使b存放大的数字
{
tmp=b;
b=c;
c=tmp;
}
printf("按照从大到小的顺序为:%d,%d,%d ",a,b,c);
方法2:用数组存放3个变量,用冒泡排序的方法进行排序
int i=0,j=0,tmp=0,a[3];
printf("请输入3个数字:");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<2;i++)
for(j=0;j<2-i;j++)
if(a[i]<a[i+1])//按照从大到小排列
{
tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
}
printf("按照从大到小的顺序为:");
for(i=0;i<3;i++)
printf("%d ",&a[i]);
printf(" ");
⑶ C语言中5个数从小到大排序
#include<stdio.h>
intmain()
{
inta[5],i,j,t;
printf("请输入5个数 ");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<5;i++)
printf("%d",a[i]);
printf(" ");
return0;
}
⑷ C语言中要把三个数从大到小排列出来应该怎么编
初学简单版本代码如下:
#include<stdio.h>
int main( )
{
int a, b, c;//定义三个数的变量
int t ;//定义作为交换的变量
scanf ( "%d%d%d" , &a, &b, &c ) ; //取值
if ( a < b )
{t = a; a = b; b = t ;};//如果a,b,进行交换,反之不动
if ( a < c )
{t = a; a = c; c = t ;};//同上
if ( b < c )
{t = b; b = c; c = t ;};
printf( "%-5d%-5d%-5d " , a, b, c);//输出
}
(4)c语言数字排列扩展阅读:
C语言中其他多个数排序的方法:
1、冒泡排序法
#include <stdio.h>
#define SIZE 8
void bubble_sort(int a[], int n);
void bubble_sort(int a[], int n)
{
int i, j, temp;
for (j = 0; j < n - 1; j++)
for (i = 0; i < n - 1 - j; i++)
{
if(a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
} } }
int main()
{
int number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};
int i;
bubble_sort(number, SIZE);
for (i = 0; i < SIZE; i++)
{
printf("%d ", number[i]);
}
}
2、选择排序
#include<stdio.h>
void main()//主函数
{
int a[10];
int i,j,w;
printf("请输入10个数字: ");
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])//进行比较
//比较后进行交换
{
w=a[i];
a[i]=a[j];
a[j]=w;
}
⑸ C语言中三个数排序
用C语言编写通过if将3个数排序:
#include<stdio.h>/*函数头:输入输出头文件*/
void main()/*空类型:主函数*/
{
inta,b,c,t;/*定义变量的数据类型为整型*/
printf("输入3个数,中间用空格隔开:");/*输出文字提示*/
scanf("%d%d%d",&a,&b,&c);/*输入3个数字*/
if(a<b)/*判断a是否小于b*/
{t=a;a=b;b=t;}/*是,则a、b的值互换*/
if(a<c)/*判断a是否小于c*/
{t=a;a=c;c=t;}/*是,则a、c的值互换*/
if(b<c)/*判断b是否小于c*/
{t=b;b=c;c=t;}/*是,则b、c的值互换*/
printf("从小到大:%d,%d,%d ",c,b,a);/*输出从小到大排列的数*/
printf("从大到小:%d,%d,%d ",a,b,c);/*输出从大到小排列的数*/
}
(5)c语言数字排列扩展阅读
输入三个数,比较其大小,并从大到小输出。
#include<stdio.h>
int main(){
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a<b){
intflag=a;
a=b;
b=flag;
}
if(a<c){
intflag=a;
a=c;
c=flag;
}
if(b<c){
intflag=b;
b=c;
c=flag;
}
printf("%d%d%d",a,b,c);
}
⑹ C语言数字排序
输入scanf是用的变量地址
&x
&y
&z
输出时,是用的变量x,
y,
z
所以sort3要改变这3个变量地址(指针)指向的值
#include
<stdio.h>
void
sort3(double
*x,
double
*y,
double
*z);
int
main(int
argc,
char
*argv[]){
double
x,y,z;
if(scanf("%lf
%lf
%lf",&x,&y,&z)==3){
sort3(&x,&y,&z);
printf("%lf\n%lf\n%lf\n",x,y,z);
}else{
fprintf(stderr,"Error:
Incorrect
format\n");
}
return
0;
}
void
sort3(double
*x,
double
*y,
double
*z){
double
a
=
*x,
b
=
*y,
c
=
*z;
printf("a:%f
b:%f
c:%f\n",a,
b,
c);//testing
if(*x
>
*y)
{
a
=
*y;
b
=
*x;
}
if(c
<
a)
{
*x
=
c;
*y
=
a;
*z
=
b;
}
else
if(c
<
b)
{
*x
=
a;
*y
=
c;
*z
=
b;
}
else
{
*x
=
a;
*y
=
b;
*z
=
c;
}
printf("sorted
numbers:\n");//testing
printf("%f
%f
%f\n",*x,
*y,
*z);//testing
}
⑺ C语言~十个数字从小到大怎么排列~从大到小呢~
//要求任意输入10个数,然后按从小到大顺序输出
#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语言对N个数进行排序
!!!!!!!!
!!!!!!!!
!!!!!!!!
注:c语言中可以将数组长度定义为变量,只是这种方法在vs中编译不能通过,但在更为标准的dev中以及gcc中完全可以编译通过!
一定要给分啊!自己写的!
#include"stdio.h"
#include"conio.h"
int
main()
{
int
length;
printf("请输入要排序的数字个数:\n");
scanf("%d",&length);
int
data[length],i;
void
mbquicksort(int
*imput,int
start,int
end);
printf("请依次输入这些数字,以空格分隔:\n");
for(i=0;i
=x))++start;
imput[end]=imput[start];
}
imput[start]=x;
mbquicksort(imput,start,start-1);
mbquicksort(imput,start+1,end);
}
}
⑼ C语言:输入10个数依次从大到小排序!
用数组来存放十个数字,使用“冒泡排序”来实现排序。10个数字需进行9轮扫描,每次扫描时比较相邻的二个数,如它们不符合要求的大小关系,就交换它们的位置。第一轮扫描结束时,最大的数就“沉”到最后。于是第二的范围就少了一个数。再进行第二两栖型、第三轮,…——直到第9轮就完成了。最后输出结果。
#include<stdio.h>
int
main()
{
int
a[10],i,j,t;
printf("请输入10个整数:\n");
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])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
printf("排序以后的数:\n");
for(i=0;i<10;i++)
printf("%d
",a[i]);
printf("\n");
system("pause");
return
0;
}
如果要从大到小排,只要把上面的交换条件
if(a[j]>a[j+1])换为
if(a[j]<a[j+1])就可以了。
⑽ 如何用C语言设计程序排列6个数字的大小顺序
排序数组可以使用冒泡算法:如果前一个数据比后一个大,则交换。
{
int i,j,t,a[6];
printf("Please input 6 integers: ");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++) /* 冒泡法排序 */
for(j=0;j<6-i-1;j++)
if(a[j]>a[j+1])
{t=a[j];/* 交换a[i]和a[j] */
a[j]=a[j+1];
a[j+1]=t;
}
优点:
简洁紧凑、灵活方便:C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
以上内容参考:网络-c语言程序设计