Я написал следующий код для этоПочему моя программа не показывает правильный результат?
Дано целое число, написать программу C, которая отображает число следующим образом:
- Первая строка: все цифры
- Вторая строка: все цифры, кроме первой цифры
- Третья строка: все, кроме двух первых цифр
- последняя строка: последняя цифра .
Для, например, будет отображаться число 5678, как:
5 6 7 8
6 7 8
7 8
8
=>
#include<stdio.h>
#include<math.h>
main()
{
long int x,y,n,z,i=1;
printf("enter no. of digits=");
scanf("%d",&n);
printf("x=");
scanf("%d",&x);
while(i<=n)
{
y=x/pow(10,i);
z=y*pow(10,i);
printf("%d\n",(x-z));
i++;
}
}
код работает (если мы будем игнорировать форматирование), но делает некоторые округление и некоторые fr некоторые выходные значения ... не знаю, почему ?? Есть solutions с использованием массива и все ... но с этим неправильно?
* Код работает, но делает некоторые округление и прочее пт некоторых выходных значений. * Что это значит ** на английском языке **? – cnicutar
Каков пример ситуации, когда он не работает? –
Дайте вход, ожидаемый выход, фактический выход. –