主题:帮我改下啊,谢谢
yy21drd
[专家分:0] 发布于 2011-10-10 22:17:00
#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个回复)
沙发
bruceteen [专家分:42660] 发布于 2011-10-11 08:23:00
改什么呀,要说清楚
板凳
winmain2008 [专家分:280] 发布于 2011-10-11 17:04:00
#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 楼
windy0will [专家分:2300] 发布于 2011-10-11 19:32:00
if 语言里面的 赋值语句没有加括号,70%以上都是错误。
还有 IOSTREAM 应该是小写吧,万一某些平台文件名区分大小的咋办?
4 楼
yy21drd [专家分:0] 发布于 2011-10-11 21:08:00
当然有错啦,编译的时候提示出错啦。说R的值有问题,我没有找到解决方法
5 楼
yy21drd [专家分:0] 发布于 2011-10-11 21:10:00
还是不行呀![em10]
C:\Micro\C++\MSDev98\MyProjects\七\7(1).cpp(19) : error C2106: '=' : left operand must be l-value
6 楼
yy21drd [专家分:0] 发布于 2011-10-11 21:10:00
C:\Micro\C++\MSDev98\MyProjects\七\7(1).cpp(19) : error C2106: '=' : left operand must be l-value
7 楼
yy21drd [专家分:0] 发布于 2011-10-11 21:12:00
我改小写了也不行哦,而且我的if里面加了括号的啊
8 楼
yy21drd [专家分:0] 发布于 2011-10-11 21:13:00
行啦,是我搞错了,谢谢这位朋友,我第一次来这个论坛的,希望能交个朋友,呵呵
9 楼
windy0will [专家分:2300] 发布于 2011-10-11 22:21:00
呵呵,后面那句赋值语句把+号错写成=了。还有,C语言里判断相等是 == ,和数学里的等号不一样。
10 楼
windy0will [专家分:2300] 发布于 2011-10-11 22:21:00
不知道为什么用手机发一条贴,经常会出现发两条的情况。
我来回复