Упражнения C: Найти наибольшее возможное число из набора указанных чисел
C Массив: Упражнение-76 с раствором
Напишите программу на C, чтобы найти наибольшее возможное число из набора заданных чисел.
Иллюстрированная презентация:
Пример решения:
Код C:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int compare(const void *a, const void *b)
{
const char **X = (const char **)a;
const char **Y = (const char **)b;
int chr_len = strlen(*X) + strlen(*Y) + 1;
char XY[chr_len];
strcpy(XY, *X);
strcat(XY, *Y);
char YX[chr_len];
strcpy(YX, *Y);
strcat(YX, *X);
return strcmp(YX, XY);
}
int main(void)
{
char *arr1[] = { "15", "628", "971", "9", "2143", "12" };
int n = sizeof(arr1)/sizeof(arr1[0]);
int i;
//------------- print original array ------------------
printf("The given numbers are : \n");
for(i = 0; i < n; i++)
{
printf("%s ", arr1[i]);
}
printf("\n");
//------------------------------------------------------
qsort(arr1, n, sizeof(arr1[0]), compare);
printf("The largest possible number by the given numbers are: ");
for (int i = 0; i < n ; i++ )
printf("%s", arr1[i]);
return 0;
}
Пример вывода:
Указанные числа: 15 628 971 9 2143 12 Наибольшее возможное число по заданным номерам: 997162821431512
Блок - схема:
Редактор кода программирования C:
Улучшите этот пример решения и опубликуйте свой код через Disqus.
Предыдущий: Напишите программу на C, чтобы найти сумму нижних треугольных элементов матрицы.
Далее: написать программу на C для генерации случайной перестановки элементов массива.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code