回 帖 发 新 帖 刷新版面

主题:帮我改下啊,谢谢

#include <IOSTREAM>
using namespace std;
int main()
{
    int m=0,d=0,c=0,l=0,x=0,v=0,i=0;
    char S[999];     
    int j,R;         
        cin>>S;
    for (j=0;;j++)
        {
            if (S[j]='M')m++;
            if (S[j]='D')d++;
            if (S[j]='C')c++;
            if (S[j]='L')l++;
            if (S[j]='X')x++;
            if (S[j]='V')v++;
            if (S[j]='I')i++;
            R=1000*m+500*d+100*c+50*l=10*x+5*v+i;
        }
    cout<<R<<endl;
    return 0;
    }

回复列表 (共12个回复)

沙发

改什么呀,要说清楚

板凳


#include <IOSTREAM>
#include <string.h>
using namespace std;
int main()
{
    int m=0,d=0,c=0,l=0,x=0,v=0,i=0;
    char S[999];     
    int j,R;         
    cin>>S;
    for (j=0;j < strlen(S);j++)
    {
        if (S[j]='M')m++;
        if (S[j]='D')d++;
        if (S[j]='C')c++;
        if (S[j]='L')l++;
        if (S[j]='X')x++;
        if (S[j]='V')v++;
        if (S[j]='I')i++;
        R = 1000*m+500*d+100*c+50*l + 0*x+5*v+i;
    }
    cout<<R<<endl;
    return 0;
}

3 楼

if 语言里面的 赋值语句没有加括号,70%以上都是错误。
还有 IOSTREAM 应该是小写吧,万一某些平台文件名区分大小的咋办?

4 楼


当然有错啦,编译的时候提示出错啦。说R的值有问题,我没有找到解决方法

5 楼


还是不行呀![em10]
C:\Micro\C++\MSDev98\MyProjects\七\7(1).cpp(19) : error C2106: '=' : left operand must be l-value

6 楼


C:\Micro\C++\MSDev98\MyProjects\七\7(1).cpp(19) : error C2106: '=' : left operand must be l-value

7 楼


我改小写了也不行哦,而且我的if里面加了括号的啊

8 楼


行啦,是我搞错了,谢谢这位朋友,我第一次来这个论坛的,希望能交个朋友,呵呵

9 楼

呵呵,后面那句赋值语句把+号错写成=了。还有,C语言里判断相等是 == ,和数学里的等号不一样。

10 楼

不知道为什么用手机发一条贴,经常会出现发两条的情况。

我来回复

您尚未登录,请登录后再回复。点此登录或注册