测试全过,提交全错,有没有大佬捞一下
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
void rank1(int arr[], int left, int right)
{
int ret = arr[left];
int right1 = right;
int left1 = left;
if (left < right)
{
while (left < right)
{
while ((left < right) && (arr[right] >= ret))
{
right--;
}
arr[left] = arr[right];
left++;
while ((left < right) && (arr[left] <= ret))
{
left++;
}
arr[right] = arr[left];
right--;
}
arr[left] = ret;
rank1(arr, left1, left - 1);
rank1(arr, right + 1, right1);
}
}
int main()
{
int arr1[3] = { 0 };
char arr2[5] = { 0 };
for (int i = 0; i < 3; i++)
{
scanf("%d", &arr1[i]);
}
getchar();
for (int i = 0; i < 3; i++)
{
scanf("%c", &arr2[i]);
}
rank1(arr1, 0, 2);
for (int i = 0; i < 3; i++)
{
if (arr2[i] == 'A')
arr2[i] = arr1[0] + '0';
else if (arr2[i] == 'B')
arr2[i] = arr1[1] + '0';
else if (arr2[i] == 'C')
arr2[i] = arr1[2] + '0';
}
for (int i = 0; i < 3; i++)
{
printf("%c ", arr2[i]);
}
return 0;
}