ShareText.Cn

U6
  1. //T2
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. bool cmp(const char *a,const char *b)
  5. {
  6.     int ret = strcmp(a,b);
  7.     if (ret<=0) return 1;
  8.     else return 0;
  9. }
  10. int main()
  11. {
  12.     char **s;
  13.     s=new char *[5];
  14.     for (int i = 0;i < 5;i++)
  15.     {
  16.         s[i]=new char[20];
  17.         cin>>s[i];
  18.     }
  19.     sort (s,s+5,cmp);
  20.     for (int i = 0;i < 5;i++)
  21.     {
  22.         cout<<s[i]<<endl;
  23.         delete [] s[i];
  24.     }
  25.     delete [] s;
  26.     return 0;
  27. }
  28. //T3
  29. #include<bits/stdc++.h>
  30. using namespace std;
  31. int findPos(int val,int size,int *a)
  32. {
  33.     for(int i=0;i<size;i++)
  34.     if (val<a[i]) continue;
  35.     else
  36.     {
  37.         for(int j=size;j>i;j--)//从a[1],.......,a[size]中插入tmp,从a[size-1]开始向右平移数组,最后将a[i]替换成tmp
  38.         a[j]=a[j-1];
  39.         a[i]=val;
  40.         return i+1;
  41.     }
  42.     return size+1;
  43. }
  44. int main()
  45. {
  46.     int *a,n,tmp,size=0;
  47.     cin>>n;
  48.     a = new int[n+1];
  49.     for (int i=0;i<n+1;i++) a[i]=-1e9; //将数组初始化成极小值
  50.     for(int i=1;i<=n;i++)
  51.     {
  52.         cin>>tmp;
  53.         size++;
  54.         findPos(tmp,size,a);//返回该插入的位置
  55.     }
  56.     cin>>tmp;
  57.     cout<<findPos(tmp,size,a);
  58.     delete [] a;
  59.     return 0;
  60. }
  61.  
  62. //T4
  63. #include<bits/stdc++.h>
  64. using namespace std;
  65. bool cmp(const int &a,const int &b)
  66. {
  67.     return a>b;
  68. }
  69. int main()
  70. {
  71.     int *a,n,tmp;
  72.     cin>>n;
  73.     a = new int[n+1];
  74.     for(int i=0;i<n;i++)
  75.     cin>>a[i];
  76.     sort (a,a+n,cmp);
  77.     cin>>tmp;
  78.     cout<<lower_bound(a,a+n,tmp,cmp)-a+1;
  79.     delete [] a;
  80.     return 0;
  81. }
Parsed in 0.012 seconds