백준 1427 c++
#include <iostream>
#include <algorithm>
#include <cstring>
#pragma warning(disable:4996)
using namespace std;
int input(int lower, int upper);
void int_to_int_array_string(int num, char* str, int* int_str, int *size);
void insertion_descending_sort(int* str, int size);
void print_array(int* array, int size);
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N;
char str[11];
int int_str[10];
int size;
N = input(1, 1000000000);
int_to_int_array_string(N, str, int_str, &size);
insertion_descending_sort(int_str, size);
print_array(int_str, size);
return 0;
}
int input(int lower, int upper)
{
int A;
while (1)
{
cin >> A;
if (A >= lower && A <= upper)
{
break;
}
else
{
;
}
}
return A;
}
void int_to_int_array_string(int num, char* str, int* int_str, int *size)
{
//sprintf_s(str, 30*sizeof(char), "%d", num);
sprintf(str, "%d", num);
*size = strlen(str);
for (int i = 0; i < *size; i++)
{
int_str[i] = (int)str[i]-48;
}
return;
}
void insertion_descending_sort(int* str, int size)
{
int i, j;
int key, temp;
for (i = 1; i < size; i++)
{
key = str[i];
for (j = i - 1; j >= 0; j--)
{
if (key < str[j])
{
;
}
else
{
temp = str[j];
str[j] = key;
str[j + 1] = temp;
}
}
}
return;
}
void print_array(int *array, int size)
{
int i;
for (i = 0; i < size; i++)
{
cout << array[i];
}
cout << '\n';
return;
}