问题标题: 酷町堂:4003

0
0
已解决
邓涵睿
邓涵睿
中级天翼
中级天翼
#include<iostream>
using namespace std;
int a[10010],cnt;
int main() {
    int n,j,key;
    cin>>n;
    while(1)
    {
        cin>>a[i];
        if(a[i]==0)
            break;
        i++;
        cnt++;
    }
    for(int i=2;i<=n;i++)
    {
        key=a[i];
        j=i-1;
        while(j>=1&&key<a[j]){
            a[j+1]=a[j];
            j--;
        }
        a[j+1]=key;
    }
    for(int i=1;i<=n;i++){
        cout<<a[i]<<" ";
    }
    return 0;
}

@李显晨,帮我看看

邓涵睿在2020-11-18 16:52:10追加了内容
#include<iostream>
using namespace std;
int a[10010];
int main() {
    int cnt=0;
    a[0]=1;
    while(a[cnt]!=0){
        if(a[cnt]!=0){
            cnt++;
            cin>>a[cnt];
        }
    }
    for(int i=2;i<=cnt-1;i++){
        int key=a[i];
        int j=i-1;
        for(j>=1&&key>a[j]){
            a[j+1]=a[j];
            j--;
        }
        a[j+1]=key;
    }
    for(int i=1;i<=cnt-1;i++) cout<<a[i]<<" ";
    return 0;
}

@李显晨,还不行


0
已采纳
李显晨
李显晨
中级启示者
中级启示者
定义 计数器=0;
    a[0]=1;
    循环(a[计数器]!=0){
        如果(a[计数器]!=0){
            计数器++;
            输入a[计数器];
        }
    }
    循环(int i=2;i<=计数器-1;i++){
        定义 key=a[i];
        定义 j=i-1;
        循环(j>=1&&key>a[j]){
            a[j+1]=a[j];
            j--;
        }
        a[j+1]=key;
    }
    for(int i=1;i<=cnt-1;i++) cout<<a[i]<<" ";//输出

定义一个a数组即可AC,数组大小:1000001

0
0
李显晨
李显晨
中级启示者
中级启示者
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
int a[1000001];
int main(){
    int cnt=0;
    a[0]=1;
    while(a[cnt]!=0){
        if(a[cnt]!=0){
            cnt++;
            cin>>a[cnt];
        }
    }
    for(int i=2;i<=cnt-1;i++){
        int key=a[i];
        int j=i-1;
        while(j>=1&&key>a[j]){
            a[j+1]=a[j];
            j--;
        }
        a[j+1]=key;
    }
    for(int i=1;i<=cnt-1;i++) cout<<a[i]<<" ";
    return 0;
}

@邓涵睿 

 

我要回答