#10717. 排序算法第四题(NOIP2014)

排序算法第四题(NOIP2014)

第四题(NOIP2014)

#include<iostream>
#include<string>
using namespace std;
const int SIZE=100;
int main(){
    string dict[SIZE];
    int rank[SIZE];
    int ind[SIZE];
    int i,j,n,tmp;
    cin>>n;
    for(i=1;i<=n;i++){
        rank[i]=i;
        ind[i]=i;
        cin>>dict[i];
    }
    for(i=1;i<n;i++)
        for (j=1;j<=n-i;j++)
            if (dict[ind[j]]>dict[ind[j+1]]){
                tmp=ind[j];
                ind[j]=ind[j+1];
                ind[j+1]=tmp;
            }
    for(i=1;i<=n;i++)
        rank[ind[i]]=i;
    for(i=1;i<=n;i++)
        cout<<rank[i]<<" ";
    cout<<endl;
    return 0;
}
  1. 【判断题】该程序的本质是按字典序对字符串排序。 {{ select(1) }}
  • 正确
  • 错误
  1. 【判断题】如果输入0,没有任何输出。 {{ select(2) }}
  • 正确
  • 错误
  1. 【判断题】如果使用C++98编译,不会出现编译错误。 {{ select(3) }}
  • 正确
  • 错误
  1. 【判断题】如果去掉第12行,不影响程序运行。 {{ select(4) }}
  • 正确
  • 错误
  1. 【选择题】输入7\naaa\naba\nbbb\naaa\naaa\nccc\naa,程序输出( )。 {{ select(5) }}
  • 2 5 6 3 4 7 1
  • 1 2 3 4 5 6 7
  • 1 7 4 3 6 5 2
  • 7 6 5 4 3 2 1
  1. 【选择题】这个程序使用的是什么排序算法? {{ select(6) }}
  • 插入排序
  • 希尔排序
  • 选择排序
  • 冒泡排序