Арабские в римские - C (СИ)
Формулировка задачи:
вот я нашел код, но он немного не так работает как мне надо! Мне нужно чтоб я мог на экране написать ту цифру которую надо мне надо поменять на римскую цифру, а тут он вписан в коде!
Не могли бы вы мне помочь, заранее спасибо
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include<stdlib.h>
#include<string.h>
#define NUMS 13
char* to_roman( int num, char* buff )
{
int p = NUMS;
unsigned int a_num[NUMS] = {1,4,5,9,10,40,50,90,100,400,500,900,1000};
char* r_num[NUMS] = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
char* roman;
*buff = '\0';
while (p--)
while (num >= a_num[p])
{
num -= a_num[p];
strcat( buff, r_num[p] );
}
return buff;
}
int main( void)
{
char* roman;
int arabian = 7;
roman = (char*)malloc(256);
printf( "%i: %s\n", arabian, to_roman( arabian, roman ));
free( roman );
getch();
return 0;
}Решение задачи: «Арабские в римские»
textual
Листинг программы
int arabian;
printf("vvedite chislo\n");
scanf("%d",&arabian);
Объяснение кода листинга программы
- Объявление переменной
арабскиетипа int. - Вывод сообщения
введите число. - Считывание введенного числа с помощью функции scanf в переменную
арабскиес использованием формата%d, который соответствует целочисленному типу данных.