输入6个实数,对6个实数从大到小排序,依次输出

qq_44871422 2019-05-08 03:36:50
要求:主函数从键盘输入6个实数赋值给一堆数组 排序通过调用函数来实现,调用函数时以数组名作为实参 主函数对排序后的结果在屏幕上以宽度10输出实数,保留2位小数
...全文
1706 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
好运萝 2019-05-10
  • 打赏
  • 举报
回复
CaptainXue 2019-05-10
  • 打赏
  • 举报
回复
排序的方法很多:冒泡排序法、插入排序法、选择排序法、快速排序法;我的博文有讲解到 这里给出冒泡排序法:代码如下:

#include<cstdio>
#include<iostream>
using namespace std;
double a[6];
void paixu()
{
	for (int i = 0; i <5; ++i)
	{
		for (int j = i + 1; j <6; ++j)
		{
			if (a[j] > a[i])
			{
				double temp = a[i];
				a[i] = a[j];
				a[j] = temp;
			}
		}
	}
}

int main ()
{
	printf("请输入6个实数:");
	for (int i = 0; i <6; i++)
		scanf ("%lf", &a[i]);
	paixu();//调用排序函数 
	printf ("从大到小排序:\n");
	for (int i = 0; i <6; ++i)
		printf ("%10.2lf ", a[i]);
	return 0;
}


冷风1023 2019-05-09
  • 打赏
  • 举报
回复
这到底是插入还是冒泡啊
636f6c696e 2019-05-09
  • 打赏
  • 举报
回复
自己不会百度么?连这种都要问
引用 3 楼 qq_44871422 的回复:
[quote=引用 2 楼 wshyhm的回复:]

#include<stdio.h>
const int nNum = 6;

void SortOfArray(double a[], int n)
{
	if ( n <= 1)
	{
		return;
	}

	for (int i = 0; i < n-1; ++i)
	{
		for (int j = i + 1; j < n; ++j)
		{
			if (a[j] > a[i])
			{
				double t = a[i];
				a[i] = a[j];
				a[j] = t;
			}
		}
	}
}

int main ()
{
	double a[nNum] = {0.0};
	printf("请输入6个实数:");
	for (int i = 0; i < nNum; ++i)
	{
		scanf ("%lf", &a[i]);
	}

	// 排序
	SortOfArray(a, nNum);

	printf ("排序后的6个实数依次为(从大到小):\n");
	for (int i = 0; i < nNum; ++i)
	{
		printf ("%10.2lf\t", a[i]);
	}

	return 0;
}
请结贴给分,急需分!
手机怎么结帖!!!![/quote]
wshyhm 2019-05-09
  • 打赏
  • 举报
回复
可能需要在电脑端结贴,我没手机登录过。不太清楚。
qq_44871422 2019-05-08
  • 打赏
  • 举报
回复
引用 2 楼 wshyhm的回复:

#include<stdio.h>
const int nNum = 6;

void SortOfArray(double a[], int n)
{
	if ( n <= 1)
	{
		return;
	}

	for (int i = 0; i < n-1; ++i)
	{
		for (int j = i + 1; j < n; ++j)
		{
			if (a[j] > a[i])
			{
				double t = a[i];
				a[i] = a[j];
				a[j] = t;
			}
		}
	}
}

int main ()
{
	double a[nNum] = {0.0};
	printf("请输入6个实数:");
	for (int i = 0; i < nNum; ++i)
	{
		scanf ("%lf", &a[i]);
	}

	// 排序
	SortOfArray(a, nNum);

	printf ("排序后的6个实数依次为(从大到小):\n");
	for (int i = 0; i < nNum; ++i)
	{
		printf ("%10.2lf\t", a[i]);
	}

	return 0;
}
请结贴给分,急需分!
手机怎么结帖!!!!
wshyhm 2019-05-08
  • 打赏
  • 举报
回复

#include<stdio.h>
const int nNum = 6;

void SortOfArray(double a[], int n)
{
	if ( n <= 1)
	{
		return;
	}

	for (int i = 0; i < n-1; ++i)
	{
		for (int j = i + 1; j < n; ++j)
		{
			if (a[j] > a[i])
			{
				double t = a[i];
				a[i] = a[j];
				a[j] = t;
			}
		}
	}
}

int main ()
{
	double a[nNum] = {0.0};
	printf("请输入6个实数:");
	for (int i = 0; i < nNum; ++i)
	{
		scanf ("%lf", &a[i]);
	}

	// 排序
	SortOfArray(a, nNum);

	printf ("排序后的6个实数依次为(从大到小):\n");
	for (int i = 0; i < nNum; ++i)
	{
		printf ("%10.2lf\t", a[i]);
	}

	return 0;
}
请结贴给分,急需分!
  • 打赏
  • 举报
回复
冒泡排序就是了,比较的就是实数,C++里面没有实数大小比较?

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧