Я новичок в Си и не могу сделать простое упражнение для школы.
Я хочу сделать что-то вроде этого:
Please insert a number: 12345
five
four
three
two
one
Обычно пользователь вводит число, а затем программа записывает в новой строке число от последнего значащего числа до наибольшего.
Это связано с функцией переключения и только базовыми навыками программирования.
У меня есть это:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num; printf("Please insert a number: "); scanf("%d", &num);
switch(num){
case 1:printf("One\n");break;
case 2:printf("Two\n");break;
case 3:printf("Three\n");break;
case 4:printf("Four\n");break;
case 5:printf("Five\n");break;
case 6:printf("Six\n");break;
case 7:printf("Seven\n");break;
case 8:printf("Eight\n");break;
case 9:printf("Nine\n");break;
case 0:printf("Zero\n");break;
}
}
Я использую число от 0 до 9, оно работает нормально, но число больше, чем то, что оно ничего не делает.
Первая проблема, которую я не могу решить, состоит в том, чтобы получить цифру.
Я верю, что в моем коде перерыв ничего не делает ...
Извините, если я не могу объяснить меня лучше, но английский не является моим родным языком.
С уважением,
Favolas
############################## In Progress Solution (не работает, если число% 10 дает 0 ¬¬¬¬¬¬ ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num; printf("Please insert a number: "); scanf("%d", &num);
int i,digit;
for (i = 0; num%10!=0;i++){
digit = num % 10;
switch(num){
case 1:printf("One\n");break;
case 2:printf("Two\n");break;
case 3:printf("Three\n");break;
case 4:printf("Four\n");break;
case 5:printf("Five\n");break;
case 6:printf("Six\n");break;
case 7:printf("Seven\n");break;
case 8:printf("Eight\n");break;
case 9:printf("Nine\n");break;
case 0:printf("Zero\n");break;
}
num = num / 10;
}
}