程序基本框架
#include <bits/stdc++.h>
using namespace std;
int main() {
//freopen("file.in", "r", stdin);
//freopen("file.out", "w", stdout);
return 0;
}
求最值
int n, x;
//最大值和最小值变量一定要初始化
int minn = 100, maxx = 0;
for (int i = 1; i <= n; i ++) {
cin >> x;
minn = min(minn, x);
maxx = max(maxx, x);
}
求最值并记录位置
int n, x;
//最大值和最小值变量一定要初始化
int minn_pos, minn = 100;
int maxx_pos, maxx = 0;
for (int i = 1; i <= n; i ++) {
cin >> x;
if (x < minn) {
minn = x;
minn_pos = i;
}
if (x > maxx) {
maxx = x;
maxx_pos = i;
}
}
字符串输入及大小写转化
string s;
getline(cin, s);
for (int i = 0; i < s.size(); i ++) {
if (s[i] > 'A' && s[i] < 'Z') {
s[i] += 32;
}
else if (s[i] > 'a' && s[i] < 'z') {
s[i] -= 32;
}
}
cout << s;
进制转换 (字符串 -> 十进制)
//字符串s表示一个m进制正整数,将其转换成十进制数
string s;
int m;
cin >> s >> m;
int ans = 0;
for (int i = 0; i < s.size(); i ++){
if (s[i] >= 'A') {
ans = ans * m + (s[i] - 'A' + 10);
}
else {
ans = ans * m + (s[i] - '0');
}
}
cout << ans;
进制转换 (十进制 -> 字符串)
//n是一个十进进制正整数,将其转换成m进制(字符串)
int n, m;
cin >> n >> m;
int a[50], len = 0;
while (n > 0) {
a[++len] = n % m;
n /= m;
}
for (int i = len; i >= 1; i --) {
if (a[i] >= 10) {
cout << char(a[i] - 10 + 'A');
}
else {
cout << a[i];
}
}
判断质数
bool isPrime(int x) {
if (x < 2) return false;
for (int i = 2; i <= x/i; i ++) {
if (x%i == 0) return false;
}
return true;
}
求最大公约数
int gcd(int a, int b) {
if (b == 0) return a;
return gcd(b, a%b);
}
判断回文
bool huiwen(string s) {
for (int i = 0, j = s.size()-1; i < j; i ++, j --) {
if (s[i] != s[j]) return false;
}
return true;
}
数组排序
const int N = 1010;
int n, a[N];
bool cmp(int x, int y) {
return x > y;
}
int main() {
cin >> n;
for (int i = 1; i <= n; i ++) cin >> a[i];
//从小到大排序
sort(a+1, a+1+n);
//从大到小排序
sort(a+1, a+1+n, cmp);
return 0;
}
结构体排序
const int N = 1010;
int n, a[N];
struct info{
int ttl, math;
}a[N];
bool cmp(info x, info y) {
if (x.ttl > y.ttl) return true;
if (x.ttl == y.ttl) {
if (x.math > y.math) return true;
}
return false;
}
int main() {
cin >> n;
for (int i = 1; i <= n; i ++) {
cin >> a[i].ttl >> a[i].math;
}
//总分高的排在前面;如果总分相同,则数学成绩高的排在前面
sort(a+1, a+1+n, cmp);
return 0;
}
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com