C语言的升序和降序

#include<stdio.h>
void main()
{
int a[5]={};
int i,j;
int temp=0;
for(i=0;i<5;i++)
{
printf("请输入第%d个整数\n",i+1);
scanf("%d",&a[i]);
}
for(i=1;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<5;i++)
{
printf("排序后的整数:%d\t",a[i]);
}
}

现在是升序的。。如果想改成降序
应该在第2个for循环里改下什么?

#include<stdio.h>
void main()
{
int a[5]={};
int i,j;
int temp=0;
for(i=0;i<5;i++)
{
printf("请输入第%d个整数\n",i+1);
scanf("%d",&a[i]);
}
for(i=1;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if(a[j]<a[j+1])....................//把大于号改成小于号
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<5;i++)
{
printf("排序后的整数:%d\t",a[i]);
}
}

if(a[j]<a[j+1])....................//把大于号改成小于号
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-09-10
只要交换一下大小的顺序就好了,你可以自己改下,多练习练习本回答被提问者采纳

C语言数组七个数升序排列和降序排列怎么编程?
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。2、定义数组和变量:#include<stdio.h>main(){char a[100], b[100], c[200], *p;int i = 0, j = 0, k = 0;。3、输入字符串: printf("please input string a:\\n");scanf("%s", a); \/*输入字符串1放入a数组...

用C语言编写一函数,函数实现以下数字的排序[升序和降序]
} 升序和降序的区别只是IF语句里面的比较符号变化,升序为〉,然后互换。降序为〈,然后前后两个数组元素呼唤。

c语言数组的排序
include <stdio.h>#include #define elemType int \/*元素类型*\/#define LEN 100 \/*数组长度上限*\/#define ASC 0 \/*升序*\/#define DESC 1 \/*降序*\/\/*冒泡排序*\/\/*参数说明:*\/\/*elemType arr[]:排序目标数组*\/\/*int len:元素个数*\/\/*int order:排序方式;升序(由小到大):ASC;降...

c语言的两种排序?
1、选择排序法 要求输入10个整数,从大到小排序输出 输入:2 0 3 -4 8 9 5 1 7 6 输出:9 8 7 6 5 3 2 1 0 -4 代码:include<stdio.h> int main(int argc,const char*argv[]){ int num[10],i,j,k,l,temp;\/\/用一个数组保存输入的数据 for(i=0;i<=9;i++){ scanf(...

c语言,用选择法对10个数排序,按正负数分开输出?
一、排序函数:根据传参,实现降序升序两种功能。二、数组输出:根据传参,实现正数和负数输出两种功能。下面是代码:include <stdio.h> void px(int nums[],int len,int t);\/\/排序 void showNums(int nums[],int len,int t);\/\/输出 int main(){ int nums[10]={8,7,-1,2,-5,4,9,...

C语言冒泡排序加解题思路?
冒泡排序,就是对一组数进行逐趟排序的方法,具体分为升序和降序。以升序为例。每一趟的任务,就是从一组数的第一个数开始,依次比较相邻的两个数的大小。既然是升序,那么比较后,如果前者大于后者,那么两者交换位置。就这样依次地比下去。这样的话,第一趟就把最大的数排到了最后。而每再比较...

c语言用递归判断一个数组是递增还是递减
\/\/升序就输出return 1,降序输出-1,乱序输出0 { int t=dat[1]-dat[0];int r=t>0?1:(t<0?-1:0);if (r==0||n<=2) \/\/ r==0 时,不管N多少,都不再递归下去,这大大优化了 return(r);int r1=order(dat+1,n-1);return (r1==r?r:0);} \/\/ 这递归算法仅六行...

C语言 随机输入十个数 能把它们从大到小排列出来的程序怎么写?
可以采用冒泡排序~include <stdio.h>#define elemType int \/*元素类型*\/#define ASC 0 \/*升序*\/#define DESC 1 \/*降序*\/#define LEN 100 \/*数组长度*\/\/*录入数组*\/void inputArr (elemType arr[], int len) {int i;for (i=0; i<len; i++)scanf ("%d",&arr[i]);putchar ('\\...

C语言 判断给定自然数n是否为降序数
思路:通过除10求余可以得到一个数的倒序,如果倒序是升序则自然数n就是降序。参考代码:#include<stdio.h> int fun(int n){int t=-1,p;while(n){p=n%10;if(t>p) return 0;t=p;n\/=10;}return 1;}int main(){int n;scanf("%d",&n); if(fun(n))printf("%d为降序!\\n",n...

C语言:采用冒泡排序方法,对10个数按由小到大的的顺序排序
;} printf("\\n");return 0;} 冒泡法:算法分析:如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次相邻元素的两两比较,在第j趟比较中要进行n-j次两两比较。比较的顺序从前往后,经过一趟比较后,将最值沉底(换到最后一个元素位置),最大值沉底为升序,最小值沉底为降序。

相似回答