C++程序:输入n个数,将这些数从大到小排列输出
输入一个n,输入n个数,输出n个数的从大到小排列样例输入:519435样例输出:95431只允许使用<iostream>和<windows.h>...
输入一个n,输入n个数,输出n个数的从大到小排列
样例输入:
5
1 9 4 3 5
样例输出:
9 5 4 3 1
只允许使用<iostream>和<windows.h> 展开
样例输入:
5
1 9 4 3 5
样例输出:
9 5 4 3 1
只允许使用<iostream>和<windows.h> 展开
展开全部
#include<iostream>
#include<window.h>
using namespace std;
int main()
{
//指定数组长度
int n;
cin>>n;
//动态分配内存
int* p=new int[n];
//顺序输入
for(int i=0;i<n;i++)
cin>>p[i];
//冒泡排序
int t=0;
for(int i=1;i<n;i++)
for(int j=0;j<i;j++)
{
if(p[j]<p[j+1])
{
t=p[j];p[j]=p[j+1];p[j+1]=t;
}
}
//顺序输出
for(int i=0;i<n;i++)
cout<<p[i];
return 0;
}
追问
int* p=new int[n];
这句什么意思
追答
动态分配 n 个i连续nt型的空间。
可以理解为 申请一个 长度为n 数组名为p的 int型数组。
只是和普通数组相比他的长度可以在运行时指定,增加编程的灵活性,减少空间浪费。
具体的用法可以参考一下c++理论书里 new 关键字或运算符的相关章节
如果对于初学者或者等级考试,在不做高级需求的时候
一般就写成
int p[80]
这样一个足够大的数组用于存储数据。
2014-12-23
展开全部
#define SIZE sizeof(aa)/sizeof(int)
void fun(int *a, int n)
{
int i, j, k, t, m, s = 0;
for (i = 0; i < n; i++)
{
k = i;
//比较极数(最大小),记住i,交换
for (j = i + 1; j < n; j++)
{
if (a[j] > a[k]) k = j;
}
if (k != i)
{
t = a[i]; a[i] = a[k]; a[k] = t;//交换
}
}
}
void main()
{
int aa[] = { 45, 56, 76, 234, 1, 34, 23, 2, 3 }, i;
fun(aa, 9);
for (i = 0; i < SIZE; i++)
cout<< aa[i]<<" ";
cout << endl;;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
int main()
{
int a[1000];
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(a[j]<a[j+1])
swap(a[j],a[j+1]);
}
}
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
using namespace std;
int main()
{
int a[1000];
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(a[j]<a[j+1])
swap(a[j],a[j+1]);
}
}
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<bits/stdc++.h>
using namespace std;
int i,j,n,a[1001];
int main()
{
cin>>n;
for(i=1;i<=n;i++)cin>>a[i];
for(i=2;i<=n;i++)
for(j=i-1;j>=1;j--)
if(a[j+1]>a[j])swap(a[j+1],a[j]);
for(i=1;i<=n;i++)cout<<a[i]<<" ";
return 0;
}
using namespace std;
int i,j,n,a[1001];
int main()
{
cin>>n;
for(i=1;i<=n;i++)cin>>a[i];
for(i=2;i<=n;i++)
for(j=i-1;j>=1;j--)
if(a[j+1]>a[j])swap(a[j+1],a[j]);
for(i=1;i<=n;i++)cout<<a[i]<<" ";
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
using namespace std;
int main()
{ int n,t=0;
cout << "请输入n的值:" << endl;
cin >> n;
int *p=new int [n];
cout << "请输入n个整数:" << endl;
for(int i=0;i<n;i++)
cin >> p[i];
for(int j=0;j<n;j++)
for(int i=0;i<n-j;i++)
{
if(p[i]<p[i+1])
{
t=p[i];
p[i]=p[i+1];
p[i+1]=t;
}
}
cout << "输出按从大到小的顺序重新存放后的结果:" << endl;
for(int i=0;i<n;i++)
cout << p[i] << ' ';
}
using namespace std;
int main()
{ int n,t=0;
cout << "请输入n的值:" << endl;
cin >> n;
int *p=new int [n];
cout << "请输入n个整数:" << endl;
for(int i=0;i<n;i++)
cin >> p[i];
for(int j=0;j<n;j++)
for(int i=0;i<n-j;i++)
{
if(p[i]<p[i+1])
{
t=p[i];
p[i]=p[i+1];
p[i+1]=t;
}
}
cout << "输出按从大到小的顺序重新存放后的结果:" << endl;
for(int i=0;i<n;i++)
cout << p[i] << ' ';
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询