#include<iostream>
#include<string>
using namespace std;
void main()
{
string str;
cin>>str;
int length = str.length();
int a[100]={0};
char str_to[100]={'\0'};
//计算与字符'U'差的绝对值
for(int i=0;i<length;i++)
{
a[i]=abs(str[i]-'U');
str_to[i] = str[i];
}
cout<<str_to<<endl;
for( i=0;i<length;i++)
{
cout<<a[i]<<',';
}
cout<<endl;
//对绝对值排序,为0的不参与排序,即原来为字符'U'
int temp=1000;
int k=0;
//选择排序法
for( i=0;i<length;i++)
{
temp=1000;
//为0的不参与排序
if(a[i]==0) continue;
else
{
k = i ;
for(int j=i;j<length;j++)
{//为0的不参与排序
if(a[j]==0)
continue;
//找到此次循环中最小的值
if(a[j]<temp)
{
k = j ;
temp = a[j] ;
}
}
//交换对应字符串的字符
if(k!=i)
{
int tt = a[i];
a[i] &
按与给定字符ASCII值的差的绝对值 字符排序
最新推荐文章于 2022-08-20 13:17:46 发布