做网站 分类搜索,珠海网站,集团公司网站怎么做,wordpress 注册码目 录 1.L1-021 重要的话说三遍
2.L1-022 奇偶分家
3.L1-023 输出GPLT
4.L1-024 后天
5.L1-025 正整数AB
6.L1-026 I Love GPLT
7.L1-027 出租
8.L1-028 判断素数
9.L1-029 是不是太胖了
10.L1-030 一帮一 1.L1-021 重要的话说三遍 代码#xff1a;
#includei…目 录 1.L1-021 重要的话说三遍
2.L1-022 奇偶分家
3.L1-023 输出GPLT
4.L1-024 后天
5.L1-025 正整数AB
6.L1-026 I Love GPLT
7.L1-027 出租
8.L1-028 判断素数
9.L1-029 是不是太胖了
10.L1-030 一帮一 1.L1-021 重要的话说三遍 代码
#includeiostreamusing namespace std;signed main(){for (int i0;i3;i) coutIm gonna WIN!endl;return 0;
}
2.L1-022 奇偶分家
分析
可以使用位运算快速判断奇偶 代码
#includeiostreamusing namespace std;
int n;
int nums;int sum1,sum2;
signed main(){cinn;while(n--) {cinnums;if (nums1) sum1;else sum2;}coutsum1 sum2;return 0;
}
3.L1-023 输出GPLT
分析
题目要我们调整字符串内GPLT的次序在左边的字符串输出完了右边如果还有剩余依旧要保持相对次序知道所有的GPLT输出完毕所以我们全部将数量存起来用四个计数变量输出即可 代码
#includeiostreamusing namespace std;string s;
int sumG,sumP,sumT,sumL;
signed main(){cins;for(int i0;is.size();i){if (toupper(s[i])G) sumG;else if (toupper(s[i])P) sumP;else if (toupper(s[i])T) sumT;else if (toupper(s[i])L) sumL;} while(sumG || sumP || sumT || sumL){if (sumG) coutG,sumG--;if (sumP) coutP,sumP--;if (sumL) coutL,sumL--;if (sumT) coutT,sumT--;}return 0;
}
4.L1-024 后天 分析
我们如果后天的编号超出了7我们区间循环一下取余输出没超出就原数输出 代码
#includeiostreamusing namespace std;signed main(){int n;cinn;cout((n2)7?n-5:n2);return 0;
}
5.L1-025 正整数AB
分析
题目大意如下
给出一个带多个空格的字符串要求将第一个空格作为分隔判断前后是否为数值如果是则原样输出不是则输出问号当两边都是数值的时候等式右边还要输出结果否则也输出问号。
所以我们书写两个find函数一个碰到第一个空格时截止第二个读取完剩下的字符串然后经由一个判断规则来判断这两个字符串是否都为数值
这道字符串出的确实有点恶心需要仔细审题 代码
#includeiostream
#includestring
#define debug(x) cout#x的值为xendl;
using namespace std;
string s;// 出现符号
// 出现非数字
int index0;
bool flag;
int finds(string s){int nums0;int i;for( iindex;is.size();i){
// debug(s[i])if(s[i] ){indexi1;return (nums0 ||nums1000 || nums1) ?-1:nums;}if(s[i]0 || s[i]9) {while(s[i]! ) i;indexi1;return -1;}nums*10;numss[i]-0;}
// debug(nums);indexi1;if (nums1000 || nums1) return -1;return nums;
}int findTwo(string a){int nums0;for(int iindex;ia.size();i){if (s[i]0 || s[i]9) return -1;nums*10;numss[i]-0;}if (nums1000 || nums1) return -1;return nums;
}
// 测试点3
// 123 123 kjaksdjsigned main(){getline(cin,s);
// coutsendl;
// 寻找第一次空格区间 int leftsfinds(s);if (lefts-1) cout?,flagtrue;else coutlefts;cout ;int rightsfindTwo(s);
// debug(index);if (rights-1) cout?,flagtrue;else coutrights;cout ;if (flag) cout?;else coutleftsrightsendl;return 0;
}
6.L1-026 I Love GPLT 代码
#includeiostreamusing namespace std;string sI Love GPLT;
signed main(){for(int i0;is.size();i){couts[i]endl;}return 0;
}
7.L1-027 出租
分析
我们将输出部分分为6个部分详见代码函数调用
前面的排序使用set自动帮我们做后面的下标遍历我们用双重循环暴力枚举 代码
#includeiostream
#includealgorithm
#includeset#define debug(x) cout变量#x的值是xendl;
using namespace std;string s;
int arr[20];setint,greaterint myset;
int sss[20];
int index0;
void print1(){coutint[] arr new int[]{;
} void printData1(setint,greaterint myset){for(auto it myset.begin(); it ! myset.end(); it) {if (it!myset.begin()) cout,; cout(*it);sss[index](*it);}
}void print2(){cout};endl;
}void print3(){coutint[] index new int[]{;
}
void printData2() {bool flagfalse;
// debug(s.size())
// debug(myset.size())for(int i0;is.size();i){for(int j0;jmyset.size();j){if ((s[i]-0)sss[j]) {if (flag) cout,;coutj;flagtrue;}}}
}
void print4(){cout};;
}
signed main(){cins;for(int i0;is.size();i){arr[i]s[i]-0;
// debug(arr[i]);myset.insert(arr[i]); }print1();printData1(myset); print2();print3();printData2();print4(); return 0;
}
8.L1-028 判断素数 代码
#includeiostream
#includecmath
using namespace std;bool check(int num){if (num2) return false;if (num2) return true;for(int i2;isqrt(num);i){if (num%i0) return false;}return true;
}
int nums;
signed main(){int n;cinn;while(n--){cinnums;if (check(nums)){coutYesendl;}else {coutNoendl;}}return 0;
}
9.L1-029 是不是太胖了 代码
#includeiostream
#includeiomanipusing namespace std;double s;
signed main() {cins;coutfixedsetprecision(1)(s-100)*0.9*2;return 0;
}
10.L1-030 一帮一
分析
我们将所有学生的信息存入结构体使用双重循环第一重从前往后遍历没有配对的好学生第二重从为第一重的好学生找搭子题目保证能找到我们的循环这样写就ok了
看数据规模n^2算法够用了 代码
#includeiostream
#includeiomanipusing namespace std;int n;
char s;
string name;struct sss {
// int indexs;char s;string name;bool check;
};int index1,index2;
struct sss ttt[55];
//struct sss ttt1[50];
//int coun0;
signed main() {cinn;for(int i0;in;i){cinsname;ttt[i].ss;ttt[i].namename;ttt[i].checkfalse;} for(int i0;in;i){for(int jn-1;j0;j--){if (ttt[i].s!ttt[j].s ttt[i].checkfalse ttt[j].checkfalse){ttt[i].checktrue , ttt[j].checktrue;coutttt[i].name ttt[j].nameendl;break;}}
// if (counn/2) break;}return 0;
}