响应式建站工具,开发一个手游游戏要多少钱,wordpress怎么新建页面,织梦高端html5网站建设工作室网络公司网站模板目录 T1126——单词倒排
T1617——地瓜烧
T1612——蒜头君的数字游戏
T1488——旋转单词
T1461——校验信用卡号码
T1437——最大值和次大值 T1126——单词倒排
超级水的一道题#xff0c;和T1122类似但更简单#xff0c;分割后逆序输出即可~
编写程序#xff0c;读入…目录 T1126——单词倒排
T1617——地瓜烧
T1612——蒜头君的数字游戏
T1488——旋转单词
T1461——校验信用卡号码
T1437——最大值和次大值 T1126——单词倒排
超级水的一道题和T1122类似但更简单分割后逆序输出即可~
编写程序读入一行英文(只包含字母和空格单词间以单个空格分隔)将所有单词的顺序倒排并输出依然以单个空格分隔。输入格式输入为一个字符串 (字符串长度至多为 100)。输出格式输出为按要求排序后的字符串。 #include iostream
#include string
#include vector
using namespace std;int main(int argc, char** argv) {string S;vectorstring V;getline(cin,S);string temp;//分割单词 for(int i0;iS.size()-1;i){tempS[i];if(S[i] ||iS.size()-1)//最后一个单词要有单独的操作 {V.push_back(temp);temp.clear();} }//删除除了最后一个单词以外末尾的空格 for(int i0;iV.size()-1;i){string tempV[i];temp.erase(temp.size()-1);V[i]temp;}for(int iV.size()-1;i0;i--){coutV[i] ;}coutendl;return 0;
} T1617——地瓜烧 同样是水题不解释~
恭头君喜欢喝地瓜烧刚开始他在小卖部买了 地瓜烧已知 人空可以换一瓶地风烧请帮他计算一下最后能喝几瓶地瓜院。(小卖部不允许借商品)输入格式行包括两个整数n,k (1 n,k 108)。输出格式输出一个整数表示蒜头君最多能喝地瓜烧的瓶数。 #include iostream
using namespace std;/* run this program using the console pauser or add your own getch, system(pause) or input loop */int main(int argc, char** argv)
{int n0,k0;cinnk;int num1n;int num2n/k;cout(num1num2)endl;return 0;
} T1612——蒜头君的数字游戏
水题太简单不解释记得别把多余的0输入就行由于没有明确的循环次数本题用while循环更适合一些。
蒜头君最近被要求参加一个数字游戏要求他把看刊的一系列整数长度不一定以0 结束最多不过 100 个)记住了然后反着念出来表示结中的数字0就不要今出来了这对蒜头君的那点记忆力来说实在是太难了所以请你帮他偏程解决这个问题。输入格式行内输入一系列整数 (大小在(1~10^9 之内) 以0结束用空格来分隔。输出格式行内倒着输出这一系列整数以空格间隔。
#include iostream
#include vector
#include algorithm
using namespace std;int main(int argc, char** argv)
{int num-1;vectorint V;//初始化必备变量 while(num!0){cinnum;V.push_back(num);}reverse(V.begin(),V.end());//翻转 for(vectorint::iterator itV.begin()1;it!V.end();it)cout(*it) ;coutendl;//从第二个下标开始迭代去掉多余的0 return 0;
}
T1488——旋转单词
今天的英语课王老师为了复习以前学过的单词提高学生的学习兴趣。想出了一个主意读入 M组数据 其中每组数据一个单词(单长度 36 字个字符)和一个整数N1~36从该单词末位开始逐位相移到单词的开头。如果还没达到N倍 ,则再从末位未位开移直到 N 为止求称 N 位后的新单词你能编程帮助贝贝最快完成任务吗?输入格式文件共有2 x M 1行第1行为 M第2行开始为体数据每一组数据有2行第1行字串L第2行为N.输出格式共 M 行每行为旋转后的字串。 如题抽象本题的重点在于以下几点 1.输入一个字符串并匹配一个专属的数字 2.将每一个字符串后n位按照原顺序前置 对于要点1此处采用自定义类型压入vector解决对于要点2采用双循环遍历解决。 具体见代码
#include iostream
#include vector
#include algorithm
#include string
using namespace std;struct yuansu{string s;int num;//自定义类型符合题意要求
};int main(int argc, char** argv)
{vectoryuansu V;int n0;cinn;for(int i1;in;i){yuansu temp;cintemp.s;cintemp.num;V.push_back(temp);}//接受题干数据 vectorstring G;//G用来存放处理后的字符串 for(int i0;iV.size()-1;i){string linshi;//临时的字符串 string goalV[i].s;int nV[i].num;int lengthgoal.size()-1;//获取当前元素的字符串和数字M以及当前字符串的下标最大值 for(int jlength,k1;kn;j--,k){//从最后一个字符开始操作选取n个字符即题干中的M linshigoal[j];//采用字符串的加法赋值 }reverse(linshi.begin(),linshi.end());//注意由于字符串的加法是将新的字符加到最后面所以此处先进行翻转使其符合题意 for(int p0;plength-n;p){linshigoal[p];//将前length-n个不需要翻转的字符串补充进去 }G.push_back(linshi);//压入G中进行下一组元素的操作 } for(vectorstring::iterator itG.begin();it!G.end();it)cout(*it)endl;//遍历G得出答案 return 0;
}
加入一个藏头诗版的测试用例完美AC T1461——校验信用卡号码 如题本题需要解决的本质就是多个字符串转换为整型数据的过程。主要的考点在于如下3个 1.循环输入多个字符串并不间断 2.将字符串处理为整型数据 3.完成对整形数据的检验 上述三个要求通过STL可以很轻松地解决具体做法写在了代码注释之中。 #include iostream
#include vector
#include string
#include algorithm
using namespace std;void vectorPrint(vectorint T1)
{for(vectorint::iterator itT1.begin();it!T1.end();it)cout(*it) ;//打印整型vector的方法没有实际意义仅仅用来调试
} /* run this program using the console pauser or add your own getch, system(pause) or input loop */int main(int argc, char** argv)
{string temp;//定义临时目标字符串 while (cintemp)//当输入字符串时循环就不停止一直进入并计算 {
// couttempendl;vectorint V;for(int i0;itemp.size()-1;i){int ttemp[i]-48;//将字符串的每一位处理为int型的数据并且压入int型的vector V.push_back(t);}
// vectorPrint(V);reverse(V.begin(),V.end());//逆向操作后从头开始按照奇数偶数位遍历。 int jishu0,oushu0,sum0;for(int i0;iV.size()-1;i2){jishuV[i];//奇数位直接相加 } for(int i1;iV.size()-1;i2){V[i]*2;if(V[i]10)V[i]-9;oushuV[i];//偶数位判断*2是否大于10大于10需要减9 }sumjishuoushu;//求和后判断是否可以整除10完杀 if(sum%100)coutPassendl;elsecoutFailendl;}return 0;
} T1437——最大值和次大值 比较简单的题用STL库可以大幅度降低代码复杂度将int型的数字压入到vector中调用sort实现从小到大排序再采用reverse将其翻转为从大到小。将第一个元素最大值首先输出再遍历后面第一个与最大值不同的元素其即为题干要求的次大值。 sort和reverse均在头文件“#include algorithm”中。 代码如下
#include iostream
#include vector
#include algorithmusing namespace std;/* run this program using the console pauser or add your own getch, system(pause) or input loop */int main(int argc, char** argv)
{int n0;cinn;vectorint V;for(int i1;in;i){int temp0;cintemp;V.push_back(temp); }sort(V.begin(),V.end());reverse(V.begin(),V.end());//从大到小排序
// for(vectorint::iterator itV.begin();it!V.end();it)
// cout(*it) ;
// coutendl;int maxV[0];coutmaxendl;for(int i1;in-1;i){if(V[i]!max){coutV[i]endl;break;} } return 0;
}