C语言编程,输入4个整数,要求按大小顺序输出。

作者&投稿:谭耍 (若有异议请与网页底部的电邮联系)
C语言编程题:输入4个整数,要求按由小到大顺序输出怎么编啊?~

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

2、输入函数代码如下:

3、排序函数代码如下:

4、输出函数代码如下:

5、执行结果:

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

执行结果同上。




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


#include
#include

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 的位置换一换就行了。


#include<stdio.h>
void mian()
{
int a[4],i,t,j;

for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
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]);
}

main()
{
int arr[4],i,j,t;
for(i=0;i<4;i++)
{
scanf("%d",&arr[i]);
}
for(i=0;i<3;i++)
{
for(j=0;j<3-i;j++)
{
if(arr[j]<arr[j+1])
{
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}

}
}
for(i=0;i<4;i++)
{
printf("%d",arr[i]);
}
getch();
}

#include<stdio.h>
void main()
{
int i,m[4],j,temp;
printf("input 4 num:");
for(j=0;j<4;j++)
{
scanf("%d",&m[j]);

}
for(i=0;i<4;i++)
{
for(j=i;j<4;j++)
{ if(m[i]<m[j])
{ temp=m[i];
m[i]=m[j];
m[j]=temp;

}

}

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

}

}


C语言简单程序:输入四个数,按从小到大顺序输出
其次你对四个整数排序的算法错误,建议用冒泡法进行排序。下面是我在你的代码基础上改进过后的代码,在改动处我已作了注释,希望对你有帮助!include"stdio.h"void main(){int a[4],i,j,t; \/\/数组长度为4!\/\/ printf("输入四个整数:");for(i=0;i<4;i++)scanf("%d",&a[i]);for...

c语言编一个程序,输入4个数,从大到小输出,用ifelse语言
\/\/ c语言编一个程序,输入4个数,从大到小输出,用ifelse语言#include <stdio.h>void swap(int* p, int* q){ int t = *p; *p = *q; *q = t;}int main(){ int i; int n[4]; for (i = 0; i < 4; i++) { printf("n%d?", i); scanf("%...

编写一个C语言程序:输入4个学生4门课的成绩,计算各科不及格的人数? 怎 ...
直接定义二维数组表示4个学生成绩,比如stu〔4〕〔4〕。再定义数组int cnt[4]={0};(一定要给初值0,或者使用累加前赋值0)用于累加记录每个学科不及格人数。嵌套循环输入stu[i][j],外层是j循环,内层是i循环。内层i循环在输入同时判断是否及格,不及格,就执行cnt[j]++;。最后,得到的cnt就是...

c语言编程:输入4个十六进制数,从小到大排序后,按十进制和二进制输出...
i;unsigned int mask=1<<(CHAR_BIT*sizeof(a)-1);for (i = 1; mask; i++){ putchar(a&mask?'1':'0'); mask>>=1; if (i%4==0)putchar(' ');}}int main(int argc, char* argv[]){int a[4];int i;for (i = 0; i<4; i++) {scanf("%x",&a[i]);...

C语言中如何编 输入4个数 输出最大值和最小值?(只用4条IF语句,不用FOR...
把这4个数分成两组比较,得出两个比较大的数和两个比较小的数,再比较两个大数和两个小数,得出最大数和最小数 例如:int n1=3, n2=5, n3=1, n4=7;int max1,max2,min1,min2,max,min;if(n1>n2) {max1=n1; min1=n2;} else {max1=n2; min1=n1;} if(n3>n4) {max1=n3; ...

输入四个整数要求由大到小顺序输出,用c语言编程,谢谢
include <stdio.h>#include <stdlib.h>#define ARRAY_LEN 4int main(){ int Array[ARRAY_LEN] = {2,3,232,94} ; int i , j; int temp ; for(i = 0; i < ARRAY_LEN; i++) { for(j = 0; j < ARRAY_LEN - 1; j++) { if(Array[i] > Array[...

用c语言编程,输入四个数,判断这四个数据能否组成四边形和正方形,能了...
偌a>0和(且)a=12,则错。 这语句的意思是a=12,则错。a>0是多余的。回到你的问题,意思就是判断这四个数据能否组成正方形。程序如下:include<stdio.h> int main(){ float a,b,c,d;int m1,m2,m3;printf("请输入abcd四个数据:\\n");scanf("%f%f%f",&a,&b,&c,&d);m1=(a-...

求C语言编程序,输入4个实数,求这4个数的和及平均值并输出。
\/*求C语言编程序,输入4个实数,求这4个数的和及平均值并输出。*\/ include<stdio.h> void main(){ float a,b,c,d;float sum=0,avg;printf("请输入这几个数(逗号隔开):\\n");scanf("%f,%f,%f,%f",&a,&b,&c,&d);sum=a+b+c+d;avg=sum\/4;printf("这4个数的和sum=%.2f\\...

C语言编程求助,想输入4个数字,但是中间要加入3个逗号分隔开,怎么...
用一个变量记录输出多少个数了,每输出一个就增加1,输出的时候检测计数器,如果计数器为0就直接输出数字,否则就先输出逗号再输出数字,例如:int a[4],i,x;x=0;for (i=0;i<3;i++) printf("%c%d", x++?',':' ', a[i]);...

c语言编程题:输入4个数,输出最大和最小的均值
include<stdio.h> include<stdlib.h> main(){ int i,k,t=0,n=4,max,min,sum=0;scanf("%d",&n);scanf("%d",&k);if(k%2==0){t++;sum+=k;} max=k;min=k;for(i=1;i<n;i++){ scanf("%d",&k);if(max<k)max=k; if(min>k)min=k;if(k%2==0){t++;sum+=k...

金台区15770461163: 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 } }

金台区15770461163: 输入四个整数要求由大到小顺序输出,用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; }

金台区15770461163: 输入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]) { //...

金台区15770461163: c语言编程 输入4个整数,要求由小到大输出 -
后韵澳泰: 道理都是一样的,再多就可以用循环了,不过4个数用循环不太爽~~,看下面的冒泡排序非循环4个数的实现呵呵: #include <stdio.h>int main(char* x ,char** y){ int temp,a,b,c,d;printf("please input num list:");scanf("%d,%d,%d,%d",&a,&...

金台区15770461163: C语言中怎么编写“输入四个整数按大小顺序排列输出”? -
后韵澳泰: #includevoid main() { int a[4]; int temp; for(int i=0;i{ printf("请输入第%d个整数",i+1); scanf("%d",&a[i]); } for(i=0;i{ for(int j=0;jif(a[j]{ temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } printf("\n排序后为:\n"); for(i=0;iprintf("%d",a[i]); } printf("\n") }

金台区15770461163: 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]); /*输出从小到大的四个数*/ }

金台区15770461163: 编程,任意输入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("%...

金台区15770461163: 用C语言编写一个程序,输入4个整数,按从大到小顺序输出! -
后韵澳泰: PROGRAM 程序名(input,output); Var a,b,c,d,t: Real; Begin Write('Input a, b,c='); Readln(a,b,c,d); if a>b then begin {复合语句} t:=a; a:=b; b:=t {交换a,b} end; if a>c then begin {复合语句} t:=a; a:=c; c:=t {交换a,c} end; if a>d then begin {复合语句} ...

金台区15770461163: 输入4个整数,要求从大到小按顺序输出....c语言编程.xiexie -
后韵澳泰: # include int main() { int i,j,t,a[4];/* 定义一个数组用来存这4个数 */ for(i=0;i<4;i++) scanf("%d",&a[i]); /* 录入4个数 */ for(i=0;i<4;i++) /* 冒泡法 */ for(j=0;j<3-i;j++) { if(a[j]{ t=a[j+1]; a[j+1]=a[j]; a[j]=t; } } for(i=0;i<4;i++) /* 分别输出排完后的4个数 */ printf("%d ",a[i]); } return 0; }

金台区15770461163: C语言编程题:输入4个整数,要求按由小到大顺序输出怎么编啊?(要用switch case语句) -
后韵澳泰: #include<stdio.h> main() { int i,j,temp; int a[4]; printf("Please you input the four number you want to campare!\n"); for(i=0;i<4;i++) /*输入要比较的四个数字*/ scanf ("%d,",&a[i]);for(j=0;j<4;j++)/*采用冒泡排序法排序*/ {for (i=0;i<4-j;i++)if (a[...

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