目录
第一种:利用循环不断更新最大值
#include <bits/stdc++.h>
using namespace std;
string s;
char arr[80];
int N,result;
int main()
{
cin>>s;
N=s.length();
for(int i=0;i<N;i++)
{
result=max(result,(int)s[i]);
}
cout<<(char)result;
return 0;
}
第二种:利用优先队列的性质
#include <bits/stdc++.h>
using namespace std;
int N;
string s;
int main()
{
cin>>s;
N=s.length();
priority_queue<char> p;
for(int i=0;i<N;i++)
{
p.push(s[i]);
}
cout<<p.top();
return 0;
}
第三种:利用qsort快速排序函数
降序排列:
#include <bits/stdc++.h>
using namespace std;
int N;
char a[80];
string s;
int cmp(const void* b,const void* c)
{
return *(char*)c-*(char*)b;
}
int main()
{
cin>>s;
N=s.length();
for(int i=0;i<N;i++)
{
a[i]=s[i];
}
qsort(a,N,sizeof(a[0]),cmp);
cout<<a[0];
return 0;
}
升序排列:
#include <stdio.h>
#include <stdlib.h>
int a[]={15,7,9,26,18,101,25,17,18,26,17,14,12,10,16,17,15,10,9,7,4,101};
int i;
int cmp(const void* b,const void* c)
{
return *(int*)b-*(int*)c;
}
int main()
{
qsort(a,22,sizeof(a[0]),cmp);
for(i=0;i<=21;i++)
{
printf("%d\n",a[i]);
}
return 0;
}
第四种:利用sort排序函数
升序排列:
#include<bits/stdc++.h>
using namespace std;
int a[50];
int cnt;
int main()
{
for(int i=0;i<10;i++)
{
cin>>a[cnt];
cnt++;
}
sort(a,a+cnt);
for(int i=0;i<cnt;i++)
{
cout<<a[i]<<endl;
}
return 0;
}
降序排列:
#include<bits/stdc++.h>
using namespace std;
int arr[50];
int cnt;
int cmp(int a,int b)
{
return a>b;
}
int main()
{
for(int i=0;i<10;i++)
{
cin>>arr[cnt];
cnt++;
}
sort(arr,arr+cnt,cmp);
for(int i=0;i<cnt;i++)
{
cout<<arr[i]<<endl;
}
return 0;
}