重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你这个就是常说的意大利面 5个以上的排序还是弄个数组,用循环排序
10年积累的网站制作、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有鹿邑免费网站建设让你可以放心的选择与我们合作。
#include stdio.h
#define N 5
int main(void)
{
float farr[N];
float t;
int i,j;
for(i=0;iN;i++)
{
scanf("%f",farr[i]);
}
for(i=0;iN-1;i++)
{
for(j=i+1;jN;j++)
{
if(farr[i]farr[j])
{
t=farr[i];
farr[i]=farr[j];
farr[j]=t;
}
}
}
for(i=0;iN;i++)
{
printf("%f\t",farr[i]);
}
return 0;
}
#include
int
main()
{
int
number[5]
=
{0};//存储五个数
int
cur
=
0;//当前要比较的数的下标,不能是float
float
max
=
number[0];//当前最大的数值,初始为数组中第一个数
int
index
=
0;//当前最大数值在数组中的位置
printf("**********寻找最大值***********\n");
//获得五个数
while(index
5)
{
printf("请输入第%d个数:",
index+1);//这里
scanf("%d",number[index]);
index++;/////////////////////////////////这里
}
//
index=0;
while(cur
5)
{
if
(max
number[cur])//当这个数比前面数中最大的数还要大时就替换掉//////////////////////////////////////////
{
max
=
number[cur];//////////////////////////////cur
非index
index
=
cur;
}
cur++;
}
printf("最大值是数组中第%d个数,值为%0.6f\n",
index
+
1,
max);
getch();
return
0;
}
//冒泡算法
int num[5];
//输入
for (int i = 0; i 5; i++)
{
scanf("%d", (num[i]));
}
bool fin = true;
while(con)
{
con = false;
//如果相邻两个数前一个比后一个小就交换
for (int i = 0; i 4;i++)
if (num[i] num[i + 1])
{
int n = num[i];
num[i] = num[i + 1];
num[i + 1] = n;
con = true;
}
//如果相邻两个数前一个都大于等于后一个con就会等于false退出循环
}
//输出
for (int i = 0; i 5; i++)
{
printf("%d", num[i]);
}
#includestdio.h
void sort(float *a, int n)
{
int i,j,tmp;
for(i=0; in-1; i++)
for(j=0; jn-i-1; j++)
if(a[j]a[j+1])
{
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
void main()
{
float a[5];
int i;
printf("请输入五个数(逗号隔开):");
scanf("%f,%f,%f,%f,%f",a[0],a[1],a[2],a[3],a[4]);
sort(a,5);
printf("排序后为:");
for(i=0; i5; i++)
printf("%.2f ",a[i]);
printf("\n");
}
或者三个数的。
void sort(int *a, int *b, int *c)
{
int tmp;
if(*a*b){
tmp = *b;
*b = *a;
*a = tmp;
}
if(*a*c){
tmp = *c;
*c = *a;
*a = tmp;
}
if(*b*c){
tmp = *c;
*c = *b;
*b = tmp;
}
return;
}
扩展资料:
C语言中没有预置的sort函数。如果在C语言中,遇到有调用sort函数,就是自定义的一个函数,功能一般用于排序。
一、可以编写自己的sort函数。
如下函数为将整型数组从小到大排序。void sort(int *a, int l)//a为数组地址,l为数组长度。
{
int i, j;
int v; //排序主体
for(i = 0; i l - 1; i ++)
for(j = i+1; j l; j ++)
{
if(a[i] a[j])//如前面的比后面的大,则交换。
{
v = a[i];
a[i] = a[j];
a[j] = v;
}
}
}
对于这样的自定义sort函数,可以按照定义的规范来调用。
二、C语言有自有的qsort函数。
功 能: 使用快速排序例程进行排序。头文件:stdlib.h
原型:
void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
参数:
1、待排序数组首地址。
2、数组中待排序元素数量。
3、各元素的占用空间大小4 指向函数的指针,用于确定排序的顺序,这个函数必须要自己写比较函数,即使要排序的元素是int,float一类的C语言基础类型。
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
int a[5],i,j,k;
printf("Type 5 integers...\n");
for(i=0;i5;scanf("%d",a+i++));
for(i=0;i5;i++){
for(k=i,j=k+1;j5;j++)
if(a[k]a[j]) k=j;
if(k!=i){
j=a[k];
a[k]=a[i];
a[i]=j;
}
}
for(i=0;i5;printf("%d ",a[i++]));
printf("\n");
}