c语言编程:输入一个数字n,再输入n个数,将这个n个数从小到大输出。

如题所述

int
n,
i;
scanf(输入n的值);
//输入个数
int
*array;
//把需排序的数列定义为数组。这里需要指出的是,如果定义为array[n-1],因为你的n在编译时未赋值,所以编译是不会通过的。于是这里直接将它定义为一个指针,赋值方法跟数组相同。但是个数太多就不能这么做了
for(i
=
0;
i
<
n;
i++){
//输入需要排序的数列
scanf(输入数字到数组array);
}
//todo:冒泡法排序
//输出排序后的数组
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-07
算法思路应该是这样:
1.先定义一个足够大的数组来接受输入的n个数字
2.输入n
3.循环对数组进行数据输入
4.循环数组比较出最大值
5.输出最大值

代码:
#include<stdio.h>
#define
max
100
void
main()
{
int
n,a[max],i,m=0;
printf("请输入个数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("第%d个数:",i+1);
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(m<a[i])
m=a[i];
}
printf("最大的数为:%d\n",m);
}

以上信息希望对你有帮助。。^^
第2个回答  2021-09-14
话不多说,上代码。
#include<bits/stdc++.h>
using namespace std;
int a[11],i,j,n;
int main(){
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1;i<=n-1;i++)
for(j=1;j<=n-i;j++)
if(a[j]<a[j+1]) swap(a[j],a[j+1]);
for(i=1;i<=n;i++)
cout<<a[i]<<endl;
return 0;
}
//测试正确
相似回答
大家正在搜