#include <bits/stdc++.h> using namespace std; struct Book{//定义书的结构体 char title[200];//title是长度200以内的字符串 float price; }; int main(){ Book b[101],t;//定义了一个book类和一个101的book数组 int n; cin>>n; int i,j; for(i=1;i<=n;i++){//注意是从1开始的 cin.get();//吃掉空格 cin.get(b[i].title,200);//输入当前的书名 cin>>b[i].price;//输入当前的书的价格 } for(j=1;j<=n-1;j++){//冒泡排序, 承接上文的设定(从1开始) for(i=1;i<=n-j;i++){ if(b[i].price<b[i+1].price){ t=b[i]; b[i]=b[i+1]; b[i+1]=t; } } } for(i=1;i<=n;i++){//输出 cout<<b[i].title<<endl; } return 0; }
#include <bits/stdc++.h> using namespace std; int num(char x){ return (int)x-48;; } char str(int x){ return (char)(x+48); } int main(){ string s1,s2,s;//定义三个字符串 cin>>s1;//用cin输入两个字符串 cin>>s2; bool flag = false;//用来标记是否有进位 string s0(""); if(s1.length() < s2.length()){ int cha = s2.length()-s1.length(); for(int i=0;i<cha;i++){ s0.append("0"); //append是从后append, 结束后会得到一个长度为cha的0串 } s1.insert(0,s0);//将上文得到的0串插入到短的字符串前面 }else{ int cha = s1.length()-s2.length(); for(int i=0;i<cha;i++){ s0.append("0"); } s2.insert(0,s0); } int n = s1.length(); string result = ""; for(int i=n-1;i>=0;i--){ int temp = 0; if(flag){//如果有进位 temp = num(s1[i]) + num(s2[i])+1; }else{//如果没有进位 temp = num(s1[i]) + num(s2[i]); } if(temp>=10){//判断是不是有进位 flag = true; temp = temp%10; }else flag=false; // cout<<temp; string a= ""; a+=str(temp);//把结果变成字符串 result.insert(0,a);//拼接起来 } cout<<result; return 0; }
#include<iostream> using namespace std; char t(int x){//将数字和对应的应该转化为什么字符依次对应 if(x==10){ return 'a'; }else if(x==11){ return 'b'; }else if(x==12){ return 'c'; }else if(x==13){ return 'd'; }else if(x==14){ return 'e'; }else if(x==1){ return '1'; }else if(x==2){ return '2'; }else if(x==3){ return '3'; }else if(x==4){ return '4'; }else if(x==5){ return '5'; }else if(x==6){ return '6'; }else if(x==7){ return '7'; }else if(x==8){ return '8'; }else if(x==9){ return '9'; }else if(x==0){ return '0'; }else if(x==15){ return 'f'; }else if(x==16){ return 'g'; } return 0; } int num[100];//对与十七进制每一位进行储存 int main(){ int n; cin>>n; int j=0; while(n>=17){ //进行十位转十七位,参考二进制 num[j]=n%17; n=n/17; j++; } num[j]=n; for(int i=j;i>=0;i--){ //由低到高,倒序输出 cout<<t(num[i]); } return 0; }
头文件
#include <bits/stdc++.h> using namespace std;
输入char数组型的字符
cin.get(a, 1007);
输入string类型的数组
cin>>s1;
deque的常用方法
deque<int> d; d.push_back(elem);//在容器尾部添加一个数据 d.push_front(elem);//在容器头部插入一个数据 d.erase(beg,end);//删除[beg,end)区间的数据,返回下一个数据的位置。 d.erase(pos);//删除pos位置的数据,返回下一个数据的位置。 d.at(idx);//返回索引idx所指的数据,如果idx越界,抛出out_of_range。 d.front();//返回第一个数据。 d.back();//返回最后一个数据 deque.size();//返回容器中元素的个数 deque.empty();//判断容器是否为空 d.sort(); //从大到小排序