C语言写出 ,输入4个整数,要求按由大到小的顺序输出?

作者&投稿:安戚 (若有异议请与网页底部的电邮联系)
输入10个整数按照由大到小的顺序如何输出C语言编写?~

#include
#define NUM 10
void main()
{
int i,j,k,a[NUM];
printf("请输入10个数字进行从大到小的排序:");
for(i=0;i<NUM;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<NUM;i++)
{
for(j=0;j<NUM;j++)
{
if(a[i]>a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
for(i=0;i<NUM;i++)
{
printf("%d",a[i]);
}
}

利用函数的模块化设计。
1、完成整体函数格局,输入、排序、输出。

2、输入函数代码如下:

3、排序函数代码如下:

4、输出函数代码如下:

5、执行结果:

扩展资料:
利用数组和循环结构实现排序功能,具体代码如下:

执行结果同上。

 
 
 
你可以利用 C 标准库 stdlib.h 里的 qsort( ) 完成任何类型的数组的快速排序:

#include<stdio.h>
#include<stdlib.h>

int compare( const int *a, const int *b ) { return *b - *a; }

int main( ) {

    int ia[ 4 ],
        width = sizeof *ia,
        num = sizeof ia / width,
        j;

    puts( "Enter four integers to be sorted in descending order:" );
    for( j = 0; j < num; ++j )
        scanf( "%d", &ia[ j ] );
    
    qsort( ia, num, width, compare );

    for( j = 0; j < num; ++j )
        printf( "%d ", ia[ j ] );
}

调用 qsort( ) 只需要传入四个参数:
1)数组指针:指向要排序的数组
2)数组的元素个数
3)数组的元素字节长度
4)函数指针:指向我们定义的一个比较两个元素大小的函数

若是要 qsort( ) 做由小到大的排序,我们定义的函数的返回值和相应的条件必须是:

返回值      条件
======    =====
   < 0       *a  <  *b
      0       *a == *b
   > 0       *a  >  *b

要达到以上的要求其实就只需写 “*a - *b” 。

而若是要 qsort( ) 做由大到小的排序,把 *a 和 *b 的位置换一换就行了。
 
 
 

4个整数的排序,有使用单个变量和使用数组二种方法实现。
使用单个变量的方法:
#include<stdio.h>
int main()
{int a,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(a>d){t=a;a=d;d=t;}
if(b>c){t=b;b=c;c=t;}
if(b>d){t=b;b=d;d=t;}
if(c>d){t=c;c=d;d=t;}

printf("%d %d %d %d\n",a,b,c,d);
return 0;
}

使用数组和循环的方法:
#include<stdio.h>
int main()
{int a[4],i,j,t;
for(i=0;i<4;i++) //读入4个数据
scanf("%d",&a[i]);
for(i=0;i<3;i++) //冒泡排序
for(j=0;j<3-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}

for(i=0;i<4;i++) //输出4个数据
printf("%d ",a[i]);
printf("\n");
return 0;
}

4个整数的排序,有使用单个变量和使用数组二种方法实现。
使用单个变量的方法:
#include<stdio.h>
int
main()
{int
a,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(a>d){t=a;a=d;d=t;}
if(b>c){t=b;b=c;c=t;}
if(b>d){t=b;b=d;d=t;}
if(c>d){t=c;c=d;d=t;}
printf("%d
%d
%d
%d\n",a,b,c,d);
return
0;
}
使用数组和循环的方法:
#include<stdio.h>
int
main()
{int
a[4],i,j,t;
for(i=0;i<4;i++)
//读入4个数据
scanf("%d",&a[i]);
for(i=0;i<3;i++)
//冒泡排序
for(j=0;j<3-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(i=0;i<4;i++)
//输出4个数据
printf("%d
",a[i]);
printf("\n");
return
0;
}

你可以利用
C
标准库
stdlib.h
里的
qsort(
)
完成任何类型的数组的快速排序:
#include<stdio.h>
#include<stdlib.h>
int
compare(
const
int
*a,
const
int
*b
)
{
return
*b
-
*a;
}
int
main(
)
{
int
ia[
4
],
width
=
sizeof
*ia,
num
=
sizeof
ia
/
width,
j;
puts(
"Enter
four
integers
to
be
sorted
in
descending
order:"
);
for(
j
=
0;
j
<
num;
++j
)
scanf(
"%d",
&ia[
j
]
);
qsort(
ia,
num,
width,
compare
);
for(
j
=
0;
j
<
num;
++j
)
printf(
"%d
",
ia[
j
]
);
}
调用
qsort(
)
只需要传入四个参数:
1)数组指针:指向要排序的数组
2)数组的元素个数
3)数组的元素字节长度
4)函数指针:指向我们定义的一个比较两个元素大小的函数
若是要
qsort(
)
做由小到大的排序,我们定义的函数的返回值和相应的条件必须是:
返回值 条件
====== =====
<
0 *a < *b
0 *a
==
*b
>
0 *a > *b
要达到以上的要求其实就只需写
“*a
-
*b”

而若是要
qsort(
)
做由大到小的排序,把
*a

*b
的位置换一换就行了。

4个整数的排序,有使用单个变量和使用数组二种方法实现。
使用单个变量的方法:
#include<stdio.h>
int
main()
{int
a,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(a>d){t=a;a=d;d=t;}
if(b>c){t=b;b=c;c=t;}
if(b>d){t=b;b=d;d=t;}
if(c>d){t=c;c=d;d=t;}
printf("%d
%d
%d
%d\n",a,b,c,d);
return
0;
}
使用数组和循环的方法:
#include<stdio.h>
int
main()
{int
a[4],i,j,t;
for(i=0;i<4;i++)
//读入4个数据
scanf("%d",&a[i]);
for(i=0;i<3;i++)
//冒泡排序
for(j=0;j<3-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(i=0;i<4;i++)
//输出4个数据
printf("%d
",a[i]);
printf("\n");
return
0;
}


江油市17031237667: 用计算机C语言程序设计 输入4个整数,要求按由小到大的顺序输出 -
沈供丙赛: #include"stdio.h" main() {int a[4],i,j; printf("请输入四个整数:\n"); //以空格分开// for(i=0;i<4;i++)scanf("%d",&a[i]); for(i=1;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;}printf("排列后的顺序是:\n"); for(i=0;i<4;i++)printf("%5d",a[i]); } 用VC++运行过了,没错!如有问题请联系!

江油市17031237667: C语言写出 ,输入4个整数,要求按由大到小的顺序输出? -
沈供丙赛: 用冒跑法写: main() { int a[4]; int i,j,t; printf("input 4 numbers:\n"); /*提示输入数据*/ for(i=1;i<5;i++) scanf("%d",&a[i]); /*输入四个整数*/ for(i=1;i<4;i++) for(j=0;j<4;j++) if(i>j) { t=i;i=j;j=t;} for(i=1;i<=4;i++) printf("%d",a[i]); /*输出从小到大的四个数*/ }

江油市17031237667: 求高手用C语言帮写个程序:输入4个整数,要求按由大到小的顺序输出.先谢谢拉! -
沈供丙赛: /* 输入4个整数(逗号隔开) : 23 45 80 9 排序后 : 80 45 23 9 请按任意键继续. . . */ #include <stdio.h>const int N = 4;void SelectSort(int a[], int n) {int i,j,k,t;for(i = 0; i < n - 1; ++i) {k = i;for(j = i + 1; j < n; ++j) {if(a[j] > a[k]) k = j;}if(i != k) {t =...

江油市17031237667: 输入4个整数,要求按由小到大的顺序输出,用C语言怎么编程呀?求高人指点呀! -
沈供丙赛: #include<stdio.h>#define MAX 4 //定义输入数的个数 void main () { int a[MAX], i, j, tmp; printf ("input %d numbers:\n", MAX); for (i = 0; i < MAX; i++) { scanf ("%d", a+i);for (j = 0; j < i; j++) //从第一个数开始与这个输入的数比较if (a[i] < a[j]) { //...

江油市17031237667: C语言编程,输入4个整数,要求按大小顺序输出. -
沈供丙赛: 在vc中编译通过,你可以改成输入很多个数,按大小输出:#include void main() { int a[4]; int i,j,t; for(i=0;i { cin>>a[i]; } for(i=0;i for(j=i+1;j { if(a[i] { t=a[i]; a[i]=a[j]; a[j]=t; } } for(i=0;i { cout } }

江油市17031237667: 编程,任意输入4个整数,要求按从小到大的次序输出. -
沈供丙赛: 就是排序这是用C语言写的 #include "stdio.h"main(){int i=0; int j=0;int size; int num[size];printf("请输入你要排序的个数:\n",size);scanf("%d",&size);printf("请输入你要排序的%d个数:\n",size);for(i=0;i<size;i++){scanf("%...

江油市17031237667: C语言 输入4个整数,要求按由小到大的顺序输出 -
沈供丙赛: t=a; a=c; c=t; 这是将a的值和c的值进行交换的意思.设置一个中间变量t,保存a的值.然后将c的值赋给a,此时a的值被覆盖,然后a原来的值保存在t里,所以c=t.

江油市17031237667: 输入四个整数要求由大到小顺序输出,用c语言编程,谢谢 -
沈供丙赛: #include<stdio.h> int main() {int n=4,i,j,t,a[4]; printf("请输入4个整数:"); for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) if(a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} for(i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); return 0; }

江油市17031237667: 输入4个整数,要求按大小顺序输出,要求用C语言IF语句编程 -
沈供丙赛: 最简单的源代码: #include"stdio.h" void main() {int a[3]; int i,j,t; printf("请输入四个整数:\n"); for (i=0;i<=3;i++) scanf("%d",&a[i]); for(j=0;j<=2;j++) for(i=0;i<=2-j;i++) if (a[i]<=a[i+1]) {t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf("排序后为:"); for(i=0;i<=3;i++) printf("%d",a[i]); printf("\n"); }

江油市17031237667: C语言编程题:输入4个整数,要求按由小到大顺序输出怎么编啊? -
沈供丙赛: 将四个数存到数组中,然后排序即可. 排序后,再利用循环输出. 代码: #include <stdio.h> int main() { int a[4],i,j; for(i = 0; i < 4; i ++) scanf("%d",&a[i]); for(i = 0; i < 3; i ++) for(j = i+1; j < 4; j ++) { int t; if(a[i]>a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } } for(i = 0; i < 4; i ++) printf("%d,",a[i]); }

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