Я занимаюсь домашним заданием для своего курса на C (первый курс программирования). Часть задания состоит в том, чтобы написать код, чтобы пользователь вводил число длиной до 9 цифр, и программе необходимо определить, является ли это число «увеличивающимся»/«действительно увеличивающимся»/«уменьшающимся»/«действительно снижающимся»/«увеличение и уменьшение»/«действительно уменьшающееся и действительно увеличивающееся»/«не уменьшающееся и не увеличивающееся». (7 вариантов в общей сложности)Извлечение отдельных цифр из длинного числа C
Поскольку это наше первое задание мы не разрешается использовать ничего, кроме того, что преподавалось в классе:
делать-то время, потому что, в то время как петли, иначе, если, если, перерыв, продолжать зсапЕ, Printf, по модулю, и основные операторы
(Мы не можем использовать любую библиотеку, кроме для stdio.h)
это все. Я не могу использовать массивы или getchar
или любой другой материал. Единственная функция, которую я могу использовать для получения ввода от пользователя, - scanf
.
До сих пор я уже написал алгоритм с блок-схемой и всем, но мне нужно отделить вход пользователя от его отдельных цифр.
Например, если пользователь вводит «1234 ...», я хочу сохранить 1 в a, 2 в b и т. Д., А затем выполнить сравнение между всеми цифрами, чтобы определить, например, все ли они равны (увеличение и уменьшение), или a> b> c ... (убывание) и т. д.
Я знаю, как отделить каждую цифру с помощью оператора% и /, но я не могу понять, как «сохранить» эти значения в переменной, которую я позже смогу использовать для сравнений.
Это то, что я до сих пор:
printf("Enter a positive number : ");
do {
scanf ("%ld", &number);
if (number < 0) {
printf ("invalid input...enter a positive integer: ");
continue;
}
else break;
} while (1);
while (number < 0) {
a = number % 10;
number = number - a;
number = number/10;
b = a;
}
Подождите, они хотят, чтобы вы разделили число до «до 9» цифр, но они не позволят вам использовать массив? Thats ... это просто жестоко! –
это только первая часть ... другая часть связана с теорией Голдбаха, пользователь вводит любое число до 9 цифр, а компьютер выводит первые простые числа, которые составляют это число. те же ограничения для этого – nofe
Я не понимаю вашу концепцию увеличения против действительно увеличивающейся. И что такое «увеличение и уменьшение» по сравнению с «действительно уменьшающимся и действительно увеличивающимся». Просьба уточнить, как ваш код должен классифицировать ввод. – abelenky