Перевод в восьмеричную систему счисления - C (СИ) (149993)
Формулировка задачи:
Задание: Ввести двузначное целое число х<15. Написать программу перевода его в восьмеричную систему счисления.
Я нашла вот такую программу, она работает, все переводит, но я не могу понять, это вообще на Си написано?
Если на Си, то почему я не могу понять, как это работает?
#include <conio.h>
#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int Input()
{
char c;
int s = 0;
while (1)
{
c = _getch();
if (c == 13) return s;
if ((c >= '0') && (c <= '9'))
{
printf("%c", c);
s = s * 10 + (c - '0');
}
}
}
void Print(int n, int p)
{
if (n == 0) return;
Print(n / p, p);
printf("%d", n%p);
}
int main(int argc, char *argv[])
{
int n, p;
printf("n=");
n = Input();
printf("\np=");
p = Input();
printf("\n");
Print(n, p);
printf("\n");
system("PAUSE");
return EXIT_SUCCESS;
}
Мне надо что-то попроще, из темы ОСНОВЫ программирования. Оператор присваивания
Решение задачи: «Перевод в восьмеричную систему счисления»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
int x;
printf("vvedite chislo:");
scanf("%d", &x);
printf("chislo v 8 sisteme schisleniya=%o", x);
return 0;
Объяснение кода листинга программы
- Подключение заголовочного файла
для работы с вводом/выводом данных - Объявление переменной типа int x для хранения числа
- Вывод сообщения с приглашением ввести число
- Ввод числа с помощью функции scanf в переменную x
- Вывод числа в восьмеричной системе счисления с помощью функции printf и формата %o
- Завершение работы программы с возвратом 0