intn,i;scanf(输入n的值);//输入个数int*array;//把需排序的数列定义为数组。这里需要指出的是,如果定义为array[n-1],因为你的n在编译时未赋值,所以编译是不会通过的。于是这里直接将它定义为一个指针,赋值方法跟数组相同。但是个数太多就不能这么做了for(i=0;i<n;i++){//输入需要排序的数列scanf(输入数字到数组array);}//todo:冒泡法排序//输出排序后的数组
算法思路应该是这样:1.先定义一个足够大的数组来接受输入的n个数字2.输入n3.循环对数组进行数据输入4.循环数组比较出最大值5.输出最大值 代码:#include<stdio.h>#definemax100voidmain(){ intn,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);} 以上信息希望对你有帮助。。^^
话不多说,上代码。#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;}//测试正确