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]);
}
}