1. 题目描述
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
输入描述:
输入一个int整数
输出描述:
将这个整数以字符串的形式逆序输出
#include<iostream>
#include<stack>
using namespace std;
int main() {
char c;
stack<char> s1;
while (cin >> c) {
s1.push(c);
}
int len = s1.size();
for (int i = 0; i < len;i++) {
cout << s1.top();
s1.pop();
}
return 0;
}
2.题目描述
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如:
输入描述:
输入N个字符
输出描述:
输出该字符串反转后的字符串
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main(){
string inStr;
while(cin>>inStr){
reverse(inStr.begin(),inStr.end());
cout<<inStr<<endl;
}
return 0;
}
3.题目描述
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
输入描述:
将一个英文语句以单词为单位逆序排放。
输出描述:
得到逆序的句子
#include<iostream>
#include<stack>
#include<string>
using namespace std;
int main(){
string inStr;
stack<string> s1;
while(cin>>inStr){
s1.push(inStr);
}
while(!s1.empty()){
cout<<s1.top()<<" ";
s1.pop();
}
return 0;
}
4.题目描述
给定n个字符串,请对n个字符串按照字典序排列。
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int main(){
int n;
cin>>n;
vector<string> s1;
for(int i=0;i<n;i++){
string inStr;
cin>>inStr;
s1.push_back(inStr);
}
sort(s1.begin(),s1.end());
vector<string>::iterator it;
for(it=s1.begin();it!=s1.end();it++){
cout<<*it<<endl;
}
return 0;
}
5.题目描述
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:
输入一个整数(int类型)
输出描述:
这个数转换成2进制后,输出1的个数
#include<iostream>
#include <bitset>
#include<algorithm>
using namespace std;
int main(){
int num;
while(cin>>num){
string numStr=bitset<32>(num).to_string();
cout<<count(numStr.begin(),numStr.end(),'1');
}
return 0;
}