将11~36进制转换为10进制(c++)

将11~36进制转换为10进制(c++),第1张

将11~36进制转换为10进制(c++) 输入说明

第一行为一个正整数N(0=1000,表示待处理的数量. 第二行为N个待处理数,以空格隔开,在表示时,大写字母表示进制,小写字母表示数值(如D表示14进制,在14进制中'0'~'9'对应十进制中的0~9,'a'~'d'对应十进制的10~13)如果存在非法表达,则该组表示无效,输出-1


输出说明

找出数值最大的数,输出它对应的十进制数


输入样例:

3
A21 B10 Cb


结果输出3


代码如下:
#include  
#include  
#include
using namespace std; 
 
bool sign;
int maxx=-1;
int main()
{
	int n;
	cin>>n;
	
	while(n--)
	{
		string s;
		cin>>s;
		int len,factor,num; 
		char J=s[0];
		factor=(J-'A')+11;
		s=s.substr(1);
		
		
		len = s.size(); 
	    sign =1; 
	    num=0; 
	 
	    for(int i=0;i='0'&&s[i]<='9')      
	        num=num*factor+(s[i]-'0'); 
	 
	      else if(s[i]>='a'&&s[i]<='z') 
	        num=num*factor+(s[i]-'a'+10); 
	 
	      else 
	      { 
	        sign=0; 
	        break; 
	      } 
	      cout<					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5665978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存