1. 程式人生 > 其它 >C語言羅馬數字轉整數

C語言羅馬數字轉整數

LEETCODE13:

##C語言程式碼

#include<stdio.h>
int romanToInt(char * s)
{
	int i=0,j=0,a[16]={0},sum=0;  //整形陣列a用於記錄對應羅馬數字的整數,sum用於記錄羅馬數字代表的整數和
	int L=0;//L用於記錄陣列的元素個數
	for(i=0;s[i]!='\0';i++)
	{

		switch(s[i])
		{
			case 'I':{a[j++]=1;L++;break;}
			case 'V':{a[j++]=5;L++;break;}
			case 'X':{a[j++]=10;L++;break
;} case 'L':{a[j++]=50;L++;break;} case 'C':{a[j++]=100;L++;break;} case 'D':{a[j++]=500;L++;break;} case 'M':{a[j++]=1000;L++;break;} default:break; } } a[j]=0; for(j=0;j<L;j++) if(a[j]>=a[j+1]) sum+=a[j]; else sum-=a[j]; return sum; } //主函式用於除錯用 void main() { char s[15
]={'M','M','M','D','C','C','C','L','X','X','X','V','I','I','I'};int a=0; a=romanToInt(s); printf("%d\n",a); }

提交結果:
在這裡插入圖片描述