Арабские в римские - 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
, который соответствует целочисленному типу данных.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д