南岗红旗大街网站建设,百度小程序代理,公司网站建设模板,重庆市中心城区目录
L1-025 正整数AB
问题描述#xff1a;
实现代码#xff1a;
L1-026 I Love GPLT
问题描述#xff1a;
实现代码#xff1a;
L1-027 出租
问题描述#xff1a;
实现代码#xff1a;
原理思路#xff1a; 出租那道题有点意思哈
L1-025 正整数AB
问题描述…目录
L1-025 正整数AB
问题描述
实现代码
L1-026 I Love GPLT
问题描述
实现代码
L1-027 出租
问题描述
实现代码
原理思路 出租那道题有点意思哈
L1-025 正整数AB
问题描述 题的目标很简单就是求两个正整数A和B的和其中A和B都在区间[1,1000]。稍微有点麻烦的是输入并不保证是两个正整数。
输入格式
输入在一行给出A和B其间以空格分开。问题是A和B不一定是满足要求的正整数有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。
注意我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格并且B不是一个空字符串。
输出格式
如果输入的确是两个正整数则按格式A B 和输出。如果某个输入不合要求则在相应位置输出?显然此时和也是?。
输入样例1
123 456输出样例1
123 456 579输入样例2
22. 18输出样例2
? 18 ?输入样例3
-100 blabla bla...33输出样例3
? ? ?
实现代码
#include iostream
#include stringusing namespace std;int main()
{string a, b;cin a;getchar();getline(cin, b);for (int i 0; i a.size(); i){if (!isdigit(a[i]) || stoi(a) 1 || stoi(a) 1000){a ?;break;}}for (int i 0; i b.size(); i){if (!isdigit(a[i]) || stoi(b) 1 || stoi(b) 1000){b ?;break;}}if (a ? || b ?){cout a b ?;}else{cout a b stoi(a) stoi(b);}return 0;
}
L1-026 I Love GPLT
问题描述 这道超级简单的题目没有任何输入。
你只需要把这句很重要的话 —— “I Love GPLT”——竖着输出就可以了。
所谓“竖着输出”是指每个字符占一行包括空格即每行只能有1个字符和回车。
输入样例
无输出样例
IL
o
v
eG
P
L
T
实现代码
#include iostream
#include stringusing namespace std;int main()
{string s I Love GPLT;for (int i 0; i s.size(); i){cout s[i] endl;}
}
L1-027 出租
问题描述 下面是新浪微博上曾经很火的一张图 一时间网上一片求救声急问这个怎么破。其实这段代码很简单index数组就是arr数组的下标index[0]2 对应 arr[2]1index[1]0 对应 arr[0]8index[2]3 对应 arr[3]0以此类推…… 很容易得到电话号码是18013820100。
本题要求你编写一个程序为任何一个电话号码生成这段代码 —— 事实上只要生成最前面两行就可以了后面内容是不变的。
输入格式
输入在一行中给出一个由11位数字组成的手机号码。
输出格式
为输入的号码生成代码的前两行其中arr中的数字必须按递减顺序给出。
输入样例
18013820100输出样例
int[] arr new int[]{8,3,2,1,0};
int[] index new int[]{3,0,4,3,1,0,2,4,3,4,4};
实现代码
#include iostream
#includemap
using namespace std;mapint, int,greaterint m;// 数字下标,降序int main()
{int nums[11];long long int ph;cin ph;int count 10;int index[11]; //index数组while (ph){int t ph % 10;nums[count--] t;//每个数字记录下来m.insert({ t, 0 });ph / 10;}//给号码附上编号int idx 0;for (auto t : m){t.second idx;idx;}//求index数组//for (int i 0; i 11; i)//{// index[i] m[nums[i]];//}//输出,注意控制输出格式cout int[] arr new int[]{;int flag 0;for (auto t : m){if (flag 0){cout t.first;flag 1;}else{cout , t.first;}}cout }; endl;cout int[] index new int[]{;int flag2 0;for (int i 0; i 11; i){if (flag2 0){cout m[nums[i]];flag2 1;}else{cout , m[nums[i]];}}cout }; endl;
}
原理思路 用mapint ,int 来存数字数字下标达到去重的效果用sums数组存电话号码然后遍历给second赋上idx编号最后输出map以及电话号的索引下标按格式、 记得用auto的话带上 我就没加结果找半天错误。。。