㈠ 如何用c语言将一组数进行降序排列
假设有n个数。
#include<stdio.h>
void min(int *a,int *b)
{
int data;
if(*a<*b)
{
data=*a;
*a=*b;
*b=data;
}
}
int main()
{
int t[10];//假设n=10,可以设置为其他数
int i,j,n=10;
for(i=0;i<n;i++)
scanf("%d",&t[i]);
for(i=0;i<n-1;i++)
{
for(j=i;j<n-1;j++)
{
min(&t[j],&t[j+1]);
}
}
for(i=0;i<n;i++)
printf("%3d",t[i]);
printf("\n");
return 0;
}
㈡ 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]);
}
}
if(a[j]<a[j+1])....................//把大于号改成小于号
㈢ 用C语言编写,输入10个数按降序排列
源程序代码如下:
#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
#include<stdio.h>//头文件;
int main()
{
int i = 0;
int j = 0;
double temp = 0;
double a[10] = { 0 };//定义三个变量和一个长度为10的数组;
printf("请输入十个数:
");//显示“请输入十个数”
for (i = 0; i < 10; i++)
{
scanf("%lf", &a[i]);//从键盘上输入十个数送到数组;
}
for (i = 1; i < 10; i++)//for循环,进行9次循环;
{
for (j = i - 1; j >= 0; j--)//for循环,在每次大的循环中,a[i]从a[1]依次与它前面的数比较;
{
if (a[j + 1] > a[j])
{
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;//如果a[j + 1]>a[j],则把这两个数组元素互换,目的把最大的数放到前边;
}
else
{
break;
}
}
}
for (i = 0; i < 10; i++)
{
printf("% lf
", a[i]);//输出排好顺序的十个数;
}
return 0;//返回值为0;
}
程序运行结果如下:
(3)c语言降序怎么改扩展阅读:
其他实现方法如下:
#include<stdio.h>
int mysort(int *a, int n)
{
int i, j, temp;
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < n - 1 - i; j++)
{
if (a[j] > a[j + 1])
{
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
}
}
}
return 0;
}
int main()
{
int a[10];
int i, j;
printf("input 10 numbers:
");
for (i = 0; i < 10; i++)
{
printf("the number%d is:", i + 1);
scanf("%d", a + i);
fflush(stdin);
}
mysort(a, 10);
for (i = 9; i >= 0; i--)
printf("%3d", a[i]);
printf("
");
return 0;
}
㈣ C语言数组七个数升序排列和降序排列怎么编程
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。
㈤ c语言 用一个函数实现用选择法对10个整数降序排列 图片中的是升序排列,该怎么改
倒数第三行改为if(array[j])>array[k])
㈥ 关于C语言进行降序排列
#include "stdio.h"
#define MAX 10
void sort(int *p,int n)
{int i,j;
int temp; //记录每一轮比较中最大值
int maxindex; //记录每一轮比较中最大值的下标
for (i=0;i<n;i++)
{
temp=p[i];
maxindex=i;
for (j=i+1;j<n;j++)
if (temp<p[j]) {temp=p[j];maxindex=j;}
if(maxindex!=i){p[maxindex]=p[i];p[i]=temp;}
}
}
/*
void sort(int *p)
{int i,j,k;
for (i=0;i<9;i++)
for (j=i+1;j<10;j++)
if (p[i]<p[j]) {k=p[i];p[i]=p[j];p[j]=k;}
这个是简单选择排序,但是执行效率没有上面的高。不过对于比较小的基数,还是看不出来效率的优劣,如果在基数上百万时,效率高的执行时间将节省不少。
*/
main()
{
int a[MAX],i;
for (i=0;i<MAX;i++)
scanf("%d",&a[i]);
sort(a,MAX);
for(i=0;i<MAX;i++)
printf("%d ,",a[i]);
}
㈦ C语言将数组a中的10个整数降序排列并输出,如何编程
这个是自己输入10个整数,不想自己输的话就先给数组a赋初值,然后把下面程序里的输入语句去掉即可
#include <stdio.h>
void main()
{
int i,j,max,temp,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
{
max=i;
for(j=i+1;j<10;j++)
if(a[max]<a[j])
max=j;
temp=a[i];
a[i]=a[max];
a[max]=temp;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
㈧ 关于C语言进行降序排列
#include<stdio.h>
#include
<math.h>
//从键盘上输入10个整数,要求用插入法实现对它们进行降序排列。
//(主函数完成输入输出功能,排序用函数sort()来实现)。
void
sort(int
a[],int
n)
{
int
i,j,temp;
for(i=0;i<n-1;i++)
{
temp=a[i+1];
j=i;
while(j>-1&&temp<a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=temp;
}
}
int
main()
{
int
i,a[10]={0};
printf("请输入10个数据:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%d\t",a[i]);
sort(a,10);
for(i=0;i<10;i++)
printf("%d\t",a[i]);
return
0;
}
㈨ 这哪错了,为什么降序不了,该怎么改(用选择法排序)c语言
sort 函数内部
首先 i 的循环应该是 [0, n - 1)
for(inti=0;i<n-1;++i)
其次,j的循环应该跟i有关
for(intj=i+1;j<n;++j)
然后就应该可以了。