Я должен написать программу, которая хранит целое число одна цифра как время в массиве. Например, 1234 - это [0] 1, a [1] 2, a [2] 3, a [3] 4. Числа будут изначально сохранены как char, поэтому мне нужно преобразовать их в тип int. Цель состоит в том, чтобы взять 2 натуральных числа длиной не более 20 цифр и вывести сумму чисел.
Я должен использовать алгоритм сложения бумаги и карандаша. Решение должно быть сохранено в массиве размером 20, а затем записано на экране. Если выходные данные больше, чем массив размером 20, то выходные данные не должны предоставляться, и на экране должно отображаться «Переполнение целочисленного типа».
Пока у меня закончено это кодирование:
int max;
int max_1;
char number_1[100];
int a;
int max_2;
char number_2[100];
int b;
printf( "\nEnter the total number of digits you wish to display:\n");
scanf_s( "%d", &max);
printf("\nEnter the size of the first integer you wish to add:\n");
scanf("%d", &max_1);
printf("\nEnter the first integer one number at a time seperated by spaces:\n");
while (a = 0, a < max_1, ++a)
{
scanf_s("%c", number_1[a]);
}
printf("\nEnter the size of the second integer you wish to add:\n");
scanf("%d", &max_2);
printf("\nEnter the second integer one number at a time seperated by spaces:\n");
while (b = 0, b < max_2, ++b)
{
scanf_s("%c", number_2[b]);
}
return 0;
Я не могу понять, как преобразовать числа, которые вводятся, в фактическую целочисленную форму, поскольку все они хранятся отдельно в массиве. Также я не уверен, как бы я мог преобразовать целое число обратно в массив размером 20 и как бы я выяснил, будет ли выходной размер 20 или больше.
Я прошу прощения за мой длинный вопрос. Я новичок в кодировании и не слишком хорош в рассуждениях. Я уверен, что есть простое решение для этого, однако я не могу думать об этом. Любые комментарии, решения или предложения помогут.