Skip to content

Instantly share code, notes, and snippets.

@seka
Created February 23, 2014 17:56
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save seka/9174765 to your computer and use it in GitHub Desktop.
#include <stdio.h>
#include <string.h>
#define NUM_LEN (100)
int main(void)
{
int i;
int count;
char num[NUM_LEN];
char roma_num[NUM_LEN][NUM_LEN];
printf("数値を入力して下さい=");
scanf("%s", num);
count = strlen(num);
for (i = 0; i < strlen(num); i++){
roma_num[i][0] = '\0';
}
for (i = 0; i < strlen(num); i++){
if (count == 4){
switch (num[i]){
case '1':
strcat(roma_num[i], "M");
break;
case '2':
strcat(roma_num[i], "MM");
break;
case '3':
strcat(roma_num[i], "MMM");
break;
}
}
if (count == 3){
switch (num[i]){
case '1':
strcat(roma_num[i], "C");
break;
case '2':
strcat(roma_num[i], "CC");
break;
case '3':
strcat(roma_num[i], "CCC");
break;
case '4':
strcat(roma_num[i], "CD");
break;
case '5':
strcat(roma_num[i], "D");
break;
case '6':
strcat(roma_num[i], "DC");
break;
case '7':
strcat(roma_num[i], "DCC");
break;
case '8':
strcat(roma_num[i], "DCCC");
break;
case '9':
strcat(roma_num[i], "CM");
break;
}
}
if (count == 2){
switch (num[i]){
case '1':
strcat(roma_num[i], "X");
break;
case '2':
strcat(roma_num[i], "XX");
break;
case '3':
strcat(roma_num[i], "XXX");
break;
case '4':
strcat(roma_num[i], "XL");
break;
case '5':
strcat(roma_num[i], "L");
break;
case '6':
strcat(roma_num[i], "LX");
break;
case '7':
strcat(roma_num[i], "LXX");
break;
case '8':
strcat(roma_num[i], "LXXX");
break;
case '9':
strcat(roma_num[i], "XC");
break;
}
}
if (count == 1){
switch (num[i]){
case '1':
strcat(roma_num[i], "I");
break;
case '2':
strcat(roma_num[i], "II");
break;
case '3':
strcat(roma_num[i], "III");
break;
case '4':
strcat(roma_num[i], "IV");
break;
case '5':
strcat(roma_num[i], "V");
break;
case '6':
strcat(roma_num[i], "VI");
break;
case '7':
strcat(roma_num[i], "VII");
break;
case '8':
strcat(roma_num[i], "VIII");
break;
case '9':
strcat(roma_num[i], "IX");
break;
}
}
count--;
}
printf("数値%sをローマ数字に変更=", num);
for (i = 0; i < strlen(num); i++){
printf("%s", roma_num[i]);
}
return (0);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment