求C++一道题
InputInputmaycontainmultipletestcases.EachcasecontainsAandBinoneline.A,Barehexadecima...
Input
Input may contain multiple test cases. Each case contains A and B in one line.
A, B are hexadecimal number.
Input terminates by EOF.
Output
Output A+B in decimal number in one line.
Sample Input
1 9
A B
a b
Sample Output
10
21
21
#include<iostream>
using namespace std;
int main()
{int e,f;
char a,b;
while (cin>>a>>b)
{ if(a>='A'||a<='Z')
{ a+=32;}
char d[11];
for(int i=0;i<10;i++)
{ d[i]='i';if(a=='i')e=i;if(b=='i')f=i;}
char c[10]="abcde";
for(int i=0;i<5;i++)
{ if(a==c[i])e=10+i; if(b==c[i])f=10+i;}
cout<<e+f<<endl;}
}
初学者解题,求大神指点 ,怎么输出一堆乱码............ 展开
Input may contain multiple test cases. Each case contains A and B in one line.
A, B are hexadecimal number.
Input terminates by EOF.
Output
Output A+B in decimal number in one line.
Sample Input
1 9
A B
a b
Sample Output
10
21
21
#include<iostream>
using namespace std;
int main()
{int e,f;
char a,b;
while (cin>>a>>b)
{ if(a>='A'||a<='Z')
{ a+=32;}
char d[11];
for(int i=0;i<10;i++)
{ d[i]='i';if(a=='i')e=i;if(b=='i')f=i;}
char c[10]="abcde";
for(int i=0;i<5;i++)
{ if(a==c[i])e=10+i; if(b==c[i])f=10+i;}
cout<<e+f<<endl;}
}
初学者解题,求大神指点 ,怎么输出一堆乱码............ 展开
2个回答
展开全部
解题思路就错了,他说给你的是两个十六进制的数,
输出的是10进制的和
没告诉你 16进制就是一个字符,也可能是"FF",本题没有必要这么麻烦,直接输入输出就完成了。
#include <iostream>
using namespace std;
int main(int argc,char** argv)
{
int a,b;
while(cin>>hex>>a)
{
cin>>hex>>b;
cout<<dec<<(a+b)<<endl;
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询