大家好,又见面了,我是你们的朋友全栈君。
// 罗马字符串转数字
// VC2008通过
#include "stdafx.h"
#include<stdio.h>
// 罗马字符串转数字
int GetNumber(const char* strNum)
{
int nValue = 0;
while(*strNum != '// 罗马字符串转数字
// VC2008通过
#include "stdafx.h"
#include<stdio.h>
// 罗马字符串转数字
int GetNumber(const char* strNum)
{
int nValue = 0;
while(*strNum != '\0')
{
int nN = 0;
char c = *(strNum+1);
switch(*strNum)
{
case 'I':
nN = ((c != 'V' && c!= 'X') ? 1 : -1);
break;
case 'V':
nN = 5;
break;
case 'X':
nN = ((c != 'L' && c != 'C') ? 10 : -10);
break;
case 'L':
nN = 50;
break;
case 'C':
nN = ((c != 'D' && c != 'M') ? 100 : -100);
break;
case 'D':
nN = 500;
break;
case 'M':
nN = 1000;
break;
}
nValue += nN;
++strNum;
}
return nValue;
}
int _tmain(int argc, _TCHAR* argv[])
{
char strData[] = "CMXCIX";
int nValue = GetNumber(strData);
printf("%s = %d\n", strData, nValue);
return 0;
}
')
{
int nN = 0;
char c = *(strNum+1);
switch(*strNum)
{
case 'I':
nN = ((c != 'V' && c!= 'X') ? 1 : -1);
break;
case 'V':
nN = 5;
break;
case 'X':
nN = ((c != 'L' && c != 'C') ? 10 : -10);
break;
case 'L':
nN = 50;
break;
case 'C':
nN = ((c != 'D' && c != 'M') ? 100 : -100);
break;
case 'D':
nN = 500;
break;
case 'M':
nN = 1000;
break;
}
nValue += nN;
++strNum;
}
return nValue;
}
int _tmain(int argc, _TCHAR* argv[])
{
char strData[] = "CMXCIX";
int nValue = GetNumber(strData);
printf("%s = %d\n", strData, nValue);
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188960.html原文链接:https://javaforall.cn