кодесурса
«C

Упражнения C: Найти наибольшее возможное число из набора указанных чисел

script1adsense2code
script1adsense3code

C Массив: Упражнение-76 с раствором

Напишите программу на C, чтобы найти наибольшее возможное число из набора заданных чисел.

Иллюстрированная презентация:

«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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code