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

万网云虚拟主机上传网站吗化妆品销售网站的源代码

万网云虚拟主机上传网站吗,化妆品销售网站的源代码,刚学完网站开发,免费网站建设支持ftp目录 1. 字符串排序 2. Excel表列名称 3. 颠倒二进制位 附录&#xff1a; 位移运算符 左移运算符<< 1.无符号 2.有符号 右移运算符>> 1.无符号 2.有符号 程序测试 1. 字符串排序 编写程序&#xff0c;输入若干个字符串。 要求: &#xff08;1&#x…

目录

1. 字符串排序

2. Excel表列名称

3. 颠倒二进制位

附录:

位移运算符

左移运算符<<

1.无符号

2.有符号

右移运算符>>

1.无符号

2.有符号

程序测试


1. 字符串排序

编写程序,输入若干个字符串。

要求:
(1)按字符串长度的大小升序输出各个字符串。
(2)按字符串中字符的ASCII码值大小升序输出各个字符串。

代码:

#include <string>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;bool compare(string a,string b) {if (a.length() != b.length()) {return a.length() < b.length();}return a < b;
}int main()
{vector<string>list;string inputString;while (cin>>inputString) {if (inputString == "0") {break;}list.push_back(inputString);}sort(list.begin(),list.end(),compare);for (int i=0; i<list.size(); i++) {cout<<list[i]<<endl;}return 0;
}

输入输出: (略)

2. Excel表列名称

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

例如:

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

输入:columnNumber = 1
输出:"A"

示例 2:

输入:columnNumber = 28
输出:"AB"

示例 3:

输入:columnNumber = 701
输出:"ZY"

示例 4:

输入:columnNumber = 2147483647
输出:"FXSHRXW"

提示:

  • 1 <= columnNumber <= 231 - 1

代码:

#include <bits/stdc++.h>
using namespace std;class Solution
{
public:string convertToTitle(int n){string res;while (n){int temp = n % 26;n /= 26;if (temp)res.push_back('A' + temp - 1);else{res.push_back('Z');n--;}}reverse(res.begin(), res.end());return res;}
};int main()
{Solution s;cout << s.convertToTitle(1) << endl;cout << s.convertToTitle(28) << endl;cout << s.convertToTitle(701) << endl;cout << s.convertToTitle(2147483647) << endl;return 0;
}

输出:

A
AB
ZY
FXSHRXW

3. 颠倒二进制位

颠倒给定的 32 位无符号整数的二进制位。

提示:(仅对Java而言,C++用不到批提示)

  • 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
  • 在 Java 中,编译器使用二进制补码(https://baike.baidu.com/item/二进制补码/5295284)记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825

示例 1:

输入:n = 00000010100101000001111010011100
输出:964176192 (00111001011110000010100101000000)
解释:输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596 因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000

示例 2:

输入:n = 11111111111111111111111111111101
输出:3221225471 (10111111111111111111111111111111)
解释:输入的二进制串 11111111111111111111111111111101 表示无符号整数 4294967293,因此返回 3221225471 其二进制表示形式为 10111111111111111111111111111111 。

提示:

  • 输入是一个长度为 32 的二进制字符串

进阶: 如果多次调用这个函数,你将如何优化你的算法?

代码:

#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:uint32_t reverseBits(uint32_t n){uint32_t res = 0;for (int i = 0; i < 32; i++){res <<= 1;res |= n & 1;n >>= 1;}return res;}
};int main()
{Solution s;cout << s.reverseBits(43261596) << endl;cout << s.reverseBits(4294967293) << endl;return 0;
}

输出:

964176192
3221225471


附录:

位移运算符

是位操作运算符的一种。移位运算符可以在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。

左移运算符<<

1.无符号

语法格式:需要移位的数字<<移位的次数n
运算规则:按二进制形式把所有数字向左移动相应的位数,高位移出(舍弃),低位的空位补0。相当于乘以2的n次方
例如:4<<2 ,就是将数字4左移2位
过程:4的二进制形式:00000000 00000000 00000000 00000100;然后把高位2个0移出,其余所有位向左移动2位,低位补0,得到:00000000 00000000 00000000 00010000;十进制数为16,16=4*22。

2.有符号

如果你左移有符号的数字,以至于符号位受影响,则结果是不确定的。

右移运算符>>

1.无符号

语法格式:需要移位的数字>>移位的次数n
运算规则:按二进制形式把所有数字向右移动相应的位数,低位移出(舍弃),高位的空位补0。相当于除以2的n次方
例如:4>>2 ,就是将数字4左移2位
过程:4的二进制形式:00000000 00000000 00000000 00000100;然后把低位2个0移出,其余所有位向右移动2位,高位补0,得到:00000000 00000000 00000000 00000001;十进制数为1,1=4÷22。

2.有符号

语法格式:需要移位的数字>>移位的次数n
运算规则:按二进制形式把所有数字向右移动相应的位数,低位移出(舍弃),正数,高位的空位补0。负数,高位的空位补1.

程序测试

#include <iostream>
#include <bitset>
using namespace std;int main() {unsigned short short1 = 4;    bitset<16> bitset1{short1};   // the bitset representation of 4cout << bitset1 << endl;  // 0000000000000100unsigned short short2 = short1 << 1;     // 4 left-shifted by 1 = 8bitset<16> bitset2{short2};cout << bitset2 << endl;  // 0000000000001000unsigned short short3 = short1 << 2;     // 4 left-shifted by 2 = 16bitset<16> bitset3{short3};cout << bitset3 << endl;  // 0000000000010000return 0;
}
#include <iostream>
#include <bitset>
using namespace std;int main() {short short1 = 16384;    bitset<16> bitset1{short1};cout << bitset1 << endl;  // 0100000000000000 short short2 = short1 << 1;bitset<16> bitset2{short2};  // 16384 left-shifted by 1 = -32768cout << bitset2 << endl;  // 100000000000000short short3 = short1 << 14;bitset<16> bitset3{short3};  // 4 left-shifted by 14 = 0cout << bitset3 << endl;  // 000000000000000  
}
#include <iostream>
#include <bitset>
using namespace std;int main() {unsigned short short11 = 1024;bitset<16> bitset11{short11};cout << bitset11 << endl;     // 0000010000000000unsigned short short12 = short11 >> 1;  // 512bitset<16> bitset12{short12};cout << bitset12 << endl;     // 0000001000000000unsigned short short13 = short11 >> 10;  // 1bitset<16> bitset13{short13};cout << bitset13 << endl;     // 0000000000000001unsigned short short14 = short11 >> 11;  // 0bitset<16> bitset14{short14};cout << bitset14 << endl;     // 0000000000000000}
}
#include <iostream>
#include <bitset>
using namespace std;int main() {short short1 = 1024;bitset<16> bitset1{short1};cout << bitset1 << endl;     // 0000010000000000short short2 = short1 >> 1;    // 512bitset<16> bitset2{short2};cout << bitset2 << endl;     // 0000001000000000short short3 = short1 >> 10;    // 1bitset<16> bitset3{short3};       cout << bitset3 << endl;     // 0000000000000001short neg1 = -16;bitset<16> bn1{neg1};cout << bn1 << endl;    // 1111111111110000short neg2 = neg1 >> 1; // -8bitset<16> bn2{neg2};cout << bn2 << endl;    // 1111111111111000short neg3 = neg1 >> 2; // -4bitset<16> bn3{neg3};cout << bn3 << endl;    // 1111111111111100short neg4 = neg1 >> 4; // -1bitset<16> bn4{neg4};        cout << bn4 << endl;    // 1111111111111111short neg5 = neg1 >> 8; // -1???bitset<16> bn5{neg5};        cout << bn5 << endl;    // 1111111111111111return 0;}

文章转载自:

http://m9V86iPb.fwrr.cn
http://6NemzncS.fwrr.cn
http://T4xoKHqa.fwrr.cn
http://mWJ6t209.fwrr.cn
http://aRO1kdFy.fwrr.cn
http://LGqIIZAb.fwrr.cn
http://Xg4KhnBI.fwrr.cn
http://NHEtPypA.fwrr.cn
http://dLHwMpfi.fwrr.cn
http://Hq3zW1ej.fwrr.cn
http://eSLuN4Oi.fwrr.cn
http://RFoqEBtl.fwrr.cn
http://viTrIufN.fwrr.cn
http://46dukFNd.fwrr.cn
http://wx6ZhSxh.fwrr.cn
http://66XyQ9Pp.fwrr.cn
http://jUEayMbl.fwrr.cn
http://LHsBi7lx.fwrr.cn
http://NsJey8Gu.fwrr.cn
http://McXkHM7l.fwrr.cn
http://Ga5JVK0N.fwrr.cn
http://dQfr1PmA.fwrr.cn
http://VvOYKoeB.fwrr.cn
http://SaE0OtD1.fwrr.cn
http://TtagCjQy.fwrr.cn
http://OVPoexhm.fwrr.cn
http://CI07uwYt.fwrr.cn
http://nyiCDc6f.fwrr.cn
http://yxpglUzb.fwrr.cn
http://LNlbIlPj.fwrr.cn
http://www.cdong.cn/news/81/

相关文章:

  • 武功做网站惠州网站建设是什么意思
  • 什么语言建手机网站计算机应用技术 网站开发
  • 专业的网站制作中心服务器两个域名一个ip做两个网站
  • 徐州网站建设方案上海有名的设计工作室
  • 做导购网站赚钱吗网络推广怎么做效果好
  • 建设银行网上交管网站免费网站报价单怎么做
  • 网站网页设计模板建筑网站翻译编辑
  • wordpress站点标题图片鞍山58同城最新招聘信息
  • 五莲网站建设维护推广学子网站建设
  • 快站科技网站建设我们的优势
  • 网站百度手机端排名怎么查询手机网站是怎么制作的
  • 如何建个人网站教程如何申请免费网站
  • 晋中建设集团有限公司网站网站建设需要提供哪些材料
  • 网站集约化建设进度报告采购
  • 网站APP注册做任务深圳网站建设世纪前线
  • 织梦做招聘网站wordpress ico 上传
  • 提供有经验的网站建设企业网站备案资料填写单
  • 西安网站运营桂林欣梦网络
  • 信息手机网站模板下载安装网站开发神书
  • 青岛专业公司网站设计平易云 网站建设
  • 免费申请网站 主机 空间网站开发前期调研
  • [8dvd]flash网站源文件 flash整站源码河源今天发生的重大新闻
  • 企业网站的建设哪家比较好莱芜都市网二手
  • 免费生成手机网站个人网站定制
  • 大连网站制作流程门户类网站图片
  • 呼和浩特国风网络昆明做整站优化
  • 网站开发进度设计与阶段目标成都网站建设小公司排名
  • 河北建设官方网站智慧团建系统平台登录入口
  • 成都建站哪家好网站设计中遇到的问题
  • 合肥建设管理学院网站wordpress固定链接打不开