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

正整数从大到小排序c语言

发布时间: 2022-09-03 07:24:43

1. c语言:输入四个正整数按从大到小排序,用冒泡排序方法,书上没有详细过程,老师没讲,尽量用简单的方法

#include<stdio.h>
intmain()
{
inta[4],i,j,t;
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]);
}

这是最简单的冒泡排序把,利用双for循环完成的。这个代码的意思是,将数字存入到一个数组中,然后用数组的第一个元素一次后面的元素比较,如果后面的元素大于第一个元素,那么就和第一个元素对调。这样最大的个元素会移动到第一个元素的位置上。然后用数组的第二个元素同样的方法进行比较和交换。最终完成从大到小的排序。

外面的for循环的作用是确定用来比较的基数的、。第一循环时,它确定的比较基数就是第一个元素,以此类推。里面的循环的作用是将基数和后面的元素比较,如果后面的元素小于的基数,那么和基数互相对调。

2. 请问怎么用C语言把一个正整数的每一位从大到小重新排列啊

用个数组保存数字的每位数,然后对数组排序…将数字的每位数取出来的算法为%10,/10

3. 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;

}

(3)正整数从大到小排序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(" ");

}

4. C语言的编程题:输入三个整数,按从大到小的顺序输出

#include <stdio.h>

main()

{

int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if (x<y)

{t=x;x=y;y=t;}

if(x<z)

{t=z;z=x;x=t;}

if(y<z)

{t=y;y=z;z=t;}

printf("%d %d %d ",x,y,z);

}

(4)正整数从大到小排序c语言扩展阅读:

使用三元运算符,这个运算符会使程序进一步简化,而且看起来更加的直观。

它的一般形式如下:

表达式1? 表达式2:表达式3;

? 表达式的值是由 表达式1 决定的。如果 表达式1 为真,则计算表达式2 的值,结果即为整个 ? 表达式的值。如果 表达式1 为假,则计算 表达式3 的值,结果即为整个 ? 表达式的值。

程序如下:

#include<stdio.h>

int main()

{

int max;

int a,b,c;

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

scanf("%d %d %d",11&a,&b,&c);

max=a>b?a:b;

max=c>max?c:max;

printf("Max is %d",max);

return 0;

}

5. c语言 输入十个整数,从大到小排序,并输出来。求解题思路

冒泡排序:

#include<stdio.h>

int main()

{ int a[10];

int i,j,t;

printf("input 10 numbers: ");

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

scanf("%d",&a[i]);//输入10个数值

printf(" ");

for(j=0;j<9;j++) //进行9轮比较

for(i=0;i<9-j;i++) //每一轮中进行9-j次比较

if(a[i]<a[i+1]) //相邻两个数比较

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("output 10 numbers: ");

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

printf("%d ",a[i]); //按顺序输出10个数值

printf(" ");

return 0;

}

当然很多行可以省掉。只是这样更清楚。

6. 输入4个整数,要求从大到小排列(用C语言的IF语句)

就是冒泡算法咯:
把序列底部的数字跟上面的数字依次比较,如果比上面的大就把他们交换位置,直到比上面的小为止,这样把每个数字都这样弄一次数列就按顺序排好了。

void main()
{
int a[3];
int i,temp;

for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
}

for(i=0;i<4;i++)
{
int j;
for(j=0;j<=4-i;j++)
{

if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}

}
}

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

}

7. 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;
}

8. C语言用选择法对10个整数按从大到小排序怎么做

#include<stdio.h>//标准输入输出函数调用需要此头文件、就是那个printf和scanf函数要用的
void main()//主函数
{int i,j,min,temp,a[10];
printf("请输入:\n"); //屏幕输出引号内的字符然后换行
for(i=1;i<=10;i++) //从键盘上循环输入10个数据
{printf("a[%d]=",i);
scanf("%d",&a[i]);} //读取数据函数
printf("\n"); //换行
for(i=1;i<=9;i++) //比较10个数据
{min=i; //每次比较的最小数据赋给min
for(j=i+1;j<=10;j++) //比较循环控制
if (a[min]>a[j]) min=j; //大小数值判断
temp=a[i];
a[i]=a[min]; //a[i]里存放的最小数值
a[min]=temp;}
printf("\n从大到小排列是:\n"); //输出字符
for(i=10;i>=1;i--) //循环输出按大小排列的数据
printf("%5d",a[i]);
printf("\n");//每输出一个数据换行
}

9. C语言,输入三个整数,按从大到小的顺序输出

#include"stdio.h"
intmain(intargc,char*argv[]){
intx,y,z;
printf("Pleaseenter3integers... ");
scanf("%d%d%d",&x,&y,&z);
if(x>y)
x^=y,y^=x,x^=y;
if(x>z)
x^=z,z^=x,x^=z;
if(y>z)
y^=z,z^=y,y^=z;
printf(" %d%d%d ",x,y,z);
return0;
}

运行样例:

10. 输入10个整数按照由大到小的顺序如何输出C语言编写

#include <stdio.h>
#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]);
}
}