当前位置: 首页 > news >正文

自己做网站自己做推广教程视频教程仁寿网站建设

自己做网站自己做推广教程视频教程,仁寿网站建设,上海建设行政主管部门网站,织梦手机网站怎么安装1.题目信息 时间限制&#xff1a;1.0s 内存限制&#xff1a;512.0MB 问题描述 给定n个十六进制正整数&#xff0c;输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n &#xff08;1<n<10&#xff09;。 接下来n行&#xff0c;每行一个由09、大写字母AF组成…

1.题目信息

时间限制:1.0s 内存限制:512.0MB

问题描述

        给定n个十六进制正整数,输出它们对应的八进制数。

输入格式

        输入的第一行为一个正整数n (1<=n<=10)。

        接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

输出格式

        输出n行,每行为输入对应的八进制正整数。

【注意】

        输入的十六进制数不会有前导0,比如012A。

        输出的八进制数也不能有前导0。

样例输入

2
39
123ABC

样例输出

71
4435274

【提示】

        先将十六进制数转换成某进制数,再由某进制数转换成八进制。

2.算法实现

  1. 数字输入改写成字符串输入利用switch语句进行16进制到2进制的转换

  2. ps:为方便3位3位划分,2进制转8进制,字符串长度不是3的倍数的需要补0

  3. 通过algorithm库中的reverse函数翻转字符串和+=,完成补0操作,再翻转回来

  4. 利用switch语句和substr函数进行2进制到8进制的转换

  5. 去0输出,flag标志判断

3.完整代码

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{string s1,s2,ss;int n;cin>>n;while(n--){s1="";s2="";ss="";cin>>s1;cout<<s1<<" "<<s1.length()<<endl;for(int i=0;i<s1.length();i++){//switch 语句转化16进制为2进制switch(s1[i]){case '0':{s2+="0000";break;}case '1':{s2+="0001";break;}case '2':{s2+="0010";break;}case '3':{s2+="0011";break;}case '4':{s2+="0100";break;}case '5':{s2+="0101";break;}case '6':{s2+="0110";break;}case '7':{s2+="0111";break;}case '8':{s2+="1000";break;}case '9':{s2+="1001";break;}case 'A':{s2+="1010";break;}case 'B':{s2+="1011";break;}case 'C':{s2+="1100";break;}case 'D':{s2+="1101";break;}case 'E':{s2+="1110";break;}case 'F':{s2+="1111";break;}default:break;}}cout<<s2<<" 2进制"<<endl;//不一定是3的约数,所以要往前补0reverse(s2.begin(),s2.end());cout<<s2<<" 反转后"<<endl;int num=s2.length();if(num%3==1)s2+="00";else if(num%3==2)s2+="0";cout<<s2<<" 加0后"<<endl;//反转回来reverse(s2.begin(),s2.end());cout<<s2<<" 再反转"<<endl;//3位3位划分2进制转化为八进制for(int i=0;i<s2.length();i+=3){if(s2.substr(i,3)=="000")ss+="0";else if(s2.substr(i,3)=="001")ss+="1";else if(s2.substr(i,3)=="010")ss+="2";else if(s2.substr(i,3)=="011")ss+="3";else if(s2.substr(i,3)=="100")ss+="4";else if(s2.substr(i,3)=="101")ss+="5";else if(s2.substr(i,3)=="110")ss+="6";else if(s2.substr(i,3)=="111")ss+="7";}cout<<ss<<" 去0前"<<endl;//去0输入int flag=0;for(int i=0;i<ss.length();i++){if(flag==0&&ss[i]=='0')continue;cout<<ss[i];flag=1;}cout<<" 去0后"<<endl;}return 0;
}

4.补充

16进制转10进制

  • 16进制转2进制,按字符串处理,同上
  • 2进制转10进制,按数处理,用pow函数
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{string s1,s2;s1="";s2="";cin>>s1;for(int i=0;i<s1.length();i++){//switch 语句转化16进制为2进制switch(s1[i]){case '0':{s2+="0000";break;}case '1':{s2+="0001";break;}case '2':{s2+="0010";break;}case '3':{s2+="0011";break;}case '4':{s2+="0100";break;}case '5':{s2+="0101";break;}case '6':{s2+="0110";break;}case '7':{s2+="0111";break;}case '8':{s2+="1000";break;}case '9':{s2+="1001";break;}case 'A':{s2+="1010";break;}case 'B':{s2+="1011";break;}case 'C':{s2+="1100";break;}case 'D':{s2+="1101";break;}case 'E':{s2+="1110";break;}case 'F':{s2+="1111";break;}default:break;}}//2进制转10进制int sum=0;int len=s2.length();for(int i=0;i<len;i++){if(s2[i]=='1')sum+=pow(2,len-i-1);}cout<<sum;return 0;
}

http://www.yayakq.cn/news/631032/

相关文章:

  • 网站建设 跑业务专业的微网站公司
  • 海口自助建站wordpress小子邀请码
  • 公众号自己做电影网站吗济南手机网站建设公司报价
  • 公司注销后 网站备案吗微信网站下载
  • 网站开发和网页设计想学企业管理课程
  • 苏州网站快速推广网站开发范围
  • 阿里巴巴做网站难吗一个微信公众号可以做几个网站
  • 网站建设百度优化南宁百度关键词推广
  • 前端做网站步骤网站可以建几个人
  • 快速学习网站制作网站开发虚拟主机管理系统
  • 2008建设网站安徽餐饮网站建设
  • 宿迁建设局网站a类证查询纪梵希网站设计分析
  • 网站建设不用虚拟主机分享网络营销方式
  • a5站长网wordpress相册模板
  • 外贸网站建设网页有做国际网站生意吗
  • 网站建设帖子化妆品销售网站开发与设计
  • 昆明网站建设公司推荐php培训
  • 企业可以做哪些网站有哪些内容吗网页设计公司上市公司
  • 网站建设 天秀网络wordpress怎么把页脚调小点
  • 分享公众号的网站广东深圳网站建设服务
  • 快速建站服务器北京网页设计好的公司
  • 微信开放文档网站站内优化方案
  • 大连手机自适应网站制作价格地瓜互联 wordpress
  • 大连网站建设信息房屋设计装修公司
  • 网站设计 趋势不愁销路的小型加工厂项目年入百万
  • 吕梁网站制作吕梁安全网站建设综合实训报告
  • 网站建设开发ppt中文商城html网站模板
  • 京东商城网站建设目标威海房产网
  • 这样做的网站2016个人做淘宝客网站
  • 三亚市住房与城乡建设局网站济南网网络推广