杭电1040

开始先在排序搞了半天,一直输出不对,后来一直出现提交格式错误

代码如下

#include <iostream>
using namespace std;
void InsertionSort(int *num,int n) 
{
      int i = 0;
      int j = 0;
      int tmp = 0;
      for(i = 1;i<n;i++)
      {
      tmp = num[i];//从待插入组取出第一个元素。 
      j = i-1; //i-1即为有序组最后一个元素(与待插入元素相邻)的下标 
      while(j>=0&&tmp<num[j])  //注意判断条件为两个,j>=0对其进行边界限制。第二个为插入判断条件 
      {
        num[j+1] = num[j];//若不是合适位置,有序组元素向后移动 
        j--; 
      }
      num[j+1] = tmp;//找到合适位置,将元素插入。 
    }
}
int main()
{
    int n;//输入的次数 

    int nums=0;//数字的个数 
    int inputNum=0;//输入的数字大小 
    cin>>n; 
    int k=0;
    while(n)
    {      int aa[1000]={};
        cin>>nums;
        while(nums!=0)
        {   
            nums--;
            cin>>inputNum;
            aa[k]=inputNum;
            k++;
        }
        InsertionSort(aa,k);  
        cout<<aa[0];
        for(int i=1;i<k;i++)
        {
            cout<<" "<<aa[i];
        }
        cout<<endl;
        k=0;
        n--;
    }
    
}

一定记得要先输出一个aa[0]再加上“  ”,如果直接输出aa[i]+"  "的话就会在最后多出来一个" ",就会报错:

目前已经AC了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值