本文目录一览:
- 1、如何用C语言将一组数进行降序排列
- 2、用c语言对n个整数进行降序排列,并输出排序结果
- 3、C语言的升序和降序
- 4、C语言将数组a中的10个整数降序排列并输出,如何编程?
- 5、关于C语言进行降序排列
- 6、用C语言编写,输入10个数按降序排列
如何用C语言将一组数进行降序排列
假设有n个数。
#includestdio.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;in;i++)
scanf("%d",t[i]);
for(i=0;in-1;i++)
{
for(j=i;jn-1;j++)
{
min(t[j],t[j+1]);
}
}
for(i=0;in;i++)
printf("%3d",t[i]);
printf("\n");
return 0;
}
用c语言对n个整数进行降序排列,并输出排序结果
#include stdio.h
void sort(int*arr,int n);
int main(int argc, char *argv[])
{
int i;
int arr[8] = {12,67,122,0,-12,675,100,11};
sort(arr,8);
for(i=0;i8;++i)
printf("%d ",arr[i]);
return 0;
}
//冒泡排序 :降序
//arr:待排序的数组
//n:数组的长度
void sort(int*arr,int n)
{
int i,j,t;
for(i=0;in-1;++i)
for(j=0;jn-1-i;++j)
{
if(arr[j]arr[j+1])
{
t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
C语言的升序和降序
#includestdio.h
void main()
{
int a[5]={};
int i,j;
int temp=0;
for(i=0;i5;i++)
{
printf("请输入第%d个整数\n",i+1);
scanf("%d",a[i]);
}
for(i=1;i5;i++)
{
for(j=0;j5-i;j++)
{
if(a[j]a[j+1])....................//把大于号改成小于号
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i5;i++)
{
printf("排序后的整数:%d\t",a[i]);
}
}
if(a[j]a[j+1])....................//把大于号改成小于号
C语言将数组a中的10个整数降序排列并输出,如何编程?
这个是自己输入10个整数,不想自己输的话就先给数组a赋初值,然后把下面程序里的输入语句去掉即可
#include stdio.h
void main()
{
int i,j,max,temp,a[10];
for(i=0;i10;i++)
scanf("%d",a[i]);
for(i=0;i10;i++)
{
max=i;
for(j=i+1;j10;j++)
if(a[max]a[j])
max=j;
temp=a[i];
a[i]=a[max];
a[max]=temp;
}
for(i=0;i10;i++)
printf("%d ",a[i]);
}
关于C语言进行降序排列
#include "stdio.h"
#define MAX 10
void sort(int *p,int n)
{int i,j;
int temp; //记录每一轮比较中最大值
int maxindex; //记录每一轮比较中最大值的下标
for (i=0;in;i++)
{
temp=p[i];
maxindex=i;
for (j=i+1;jn;j++)
if (tempp[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;i9;i++)
for (j=i+1;j10;j++)
if (p[i]p[j]) {k=p[i];p[i]=p[j];p[j]=k;}
这个是简单选择排序,但是执行效率没有上面的高。不过对于比较小的基数,还是看不出来效率的优劣,如果在基数上百万时,效率高的执行时间将节省不少。
*/
main()
{
int a[MAX],i;
for (i=0;iMAX;i++)
scanf("%d",a[i]);
sort(a,MAX);
for(i=0;iMAX;i++)
printf("%d ,",a[i]);
}
用C语言编写,输入10个数按降序排列
源程序代码如下:
#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
#includestdio.h//头文件;
int main()
{
int i = 0;
int j = 0;
double temp = 0;
double a[10] = { 0 };//定义三个变量和一个长度为10的数组;
printf("请输入十个数:\n");//显示“请输入十个数”
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\n", a[i]);//输出排好顺序的十个数;
}
return 0;//返回值为0;
}
程序运行结果如下:
扩展资料:
其他实现方法如下:
#includestdio.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:\n");
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("\n");
return 0;
}