/*
gesp1必会代码、编程思想 v1.0.5
zycsuper 2026/2/26
*/
#include <bits/stdc++.h>
using namespace std;
int main() {
/* 2026/3/8
p:科学计数法的表达
s:用e表示
c:
int N=2e4; //20000
cout<<N<<endl;
int M=2e4+5;
cout<<M<<endl;*/
/* 2026/2/26
p:整数和布尔值转换规律
s:直接赋值,规律如下
true -> 1
false -> 0
c:
int a=1;
bool b=a;
cout<<b;*/
/*
p:输入、输出一个小数,保留2位小数 c语言版
s:用scanf输入,printf输出
c:
double a;
scanf("%lf",&a); //相当于cin 3.1415926
printf("%.2lf",a); //相当于cout cout*/
/*
p:输入、输出2个整数,c语言版
s:用scanf输入,printf输出
c:
int a,b;
scanf("%d %d",&a,&b);
printf("%d %d",a,b); */
/*
p:输入、输出2个整数,c++语言版
s:用cin输入,cout输出
c:
int a,b;
cin>>a>>b;
cout<<a<<" "<<b;*/
/*
p:输入多个数,比如n个,写法1
s:循环n次,依次输入,存入t中
c:
int n;
cin>>n;
for (int i=0;i<n;i++) {
int t;
cin>>t;
}*/
/* 2026/2/26
p:计算变量的存储空间
s:用sizeof,单位是字节
c:
bool a=true;
char b='x';
int c=8;
cout<<sizeof(a)<<' '<<sizeof(b)<<' '<<sizeof(c); */
/* 2026/2/26
p:交换两个变量的值
s:引入中介变量t,方法一,第一个模板代码,训练思维用的
c:
int a=3;
int b=4;
int t; //引入中间变量t
if (a<b) {
t=a; //提前备份a
a=b; //用b把a覆盖
b=t; //用t把b覆盖
}
cout<<a<<" "<<b;*/
/* 2026/2/26
p:交换两个变量的值
s:用swap函数,方法二,用现成函数,快
c:
int a=3;
int b=4;
if (a<b) {
swap(a,b);
}
cout<<a<<" "<<b; */
/*
p:输入多个数,比如n个,写法2
s:循环n次,依次输入,存入t中
c:
int n;
cin>>n;
while (n--) {
int t;
cin>>t;
}*/
/*
p:判断奇数、偶数
s:用n%2是否为0判断
c:
int n;
cin>>n;
if (n%2==0) cout<<"偶数"; //偶数
if (n%2==1) cout<<"奇数"; //奇数*/
/*
p:循环n次的方法,有两种
s:
c:
int n;
cin>>n;
for (int i=1;i<=n;i++) { //需要i作用时,用这个
cout<<"t"<<endl; //循环n次
}
while (n--) { //3,2,1,0 ,i无用时
cout<<"t"<<endl;
} */
/*
p:闰年判断
s:两种闰年同时考虑
c:
int i;
cin>>i;
if ((i%4==0 && i%100!=0) || (i%400==0)) {
cout<<"闰年";
}
else cout<<"平年";*/
/*
p:开平方
s:用sqrt(n)
c:
int t=sqrt(9);
cout<<t; //t=3*/
/*
p:求幂,a的n次方
s:pow(a,n)
c:
int a=2;
int t=pow(a,3);
cout<<t; //t=8*/
/*
p:大写转小写
s:加32,32='z'-'Z'
c:
char x='C';
char y=x+('z'-'Z'); //'z'-'Z'=32
cout<<y;*/
/*
p:小写转大写
s:减32,32='z'-'Z'
c:
char x='a';
char y=x-('z'-'Z'); //'z'-'Z'=32
cout<<y;*/
/*
p:数字字符转为纯数字
s:减'0'或者48
c:
char a='3';
int b=a-'0'; //-48
cout<<b+1; //b是数字3,+1后,输出4*/
/*
p:求和1+2+...+n
s:循环i从1到n,累加i
c:
int n;
cin>>n;
int s=0;
for (int i=1;i<=n;i++) {
s+=i; //i是累加项
}
cout<<s;*/
/*
p:累加求和
s:累加项本身也要表达为累加和,总和再累加它
c:
int n;
cin>>n;
int s=0; //累加变量初始值为0,这种变量也叫做累加器
for (int i=1;i<=n;i++) {
int a=0;
for (int j=1;j<=i;j++) { //循环嵌套
a+=j;
}
s+=a;
}
cout<<s;*/
/*
p:求阶乘 n!
s:循坏1到n,累积它
c:
int n;
cin>>n;
int s=1; //类乘变量初始值为1,这种变量也叫做累乘器
for (int i=1;i<=n;i++) { //i 循环变量
s*=i;
}
cout<<s;*/
/*
p:累加求阶乘: 1!+2!+3!+...+n!
s:累加项表达为阶乘,再累加
c:
int n;
cin>>n;
long long sum=0;
long long t=1;
for (int i=1;i<=n;i++) {
t*=i; //累加项
sum+=t; //累加变量
}
cout<<sum;*/
/*
p:统计范围内的数字:统计n以内的奇数个数
s:在范围内循环,满足条件就计数
c:
int n;
cin>>n;
int cnt=0; //统计个数的变量,叫做计数器,初始值为0
for (int i=1;i<=n;i++) {
if (i%2!=0) {
cnt++;
}
}
cout<<cnt;*/
/*
p:找最小值
s:打擂法,初始值最大
c:
int n;
cin>>n;
int x=0x3f3f3f3f; //最小,初始化为最大值
int a;
for(int i=0;i<n;i++){ //输入n个数
cin>>a; //每次上台打擂的人
if (a<x){ //记录赢的人
x=a;
}
}
cout<<x;*/
/*
p:找最大值
s:打擂法,初始值最小
c:
int n;
cin>>n;
int x=-0x3f3f3f3f; //最小,初始化为最小3值
int a;
for(int i=0;i<n;i++){ //输入n个数
cin>>a; //每次上台打擂的人
if (a>x){ //记录赢的人
x=a;
}
}
cout<<x;*/
/*
p:小杨的考试:过了n天是星期几?
s:列表分析法找规律
c:
int x,n;
cin>>x>>n;
int t; //总数字
t=x+n;
if (t<7) {
cout<<t;
}
else {
int u=t%7;
if (u==0) {
cout<<7;
}
else
cout<<u;
} */
/*
p:小杨的考试:过了n天是星期几? 公式法
s:记公式(x+n)%7
c:
int x; //当前星期
int n; //过了n天
cin>>x>>n;
cout<<(x+n)%7;*/
//过了n个月,是几月
/*int x; //当前月份
int n; //过了n个月,含x月
cin>>x>>n;
int t=(x+n)%12;
if (t==0) cout<<12;
else cout<<t;*/
/*
p:数位分离问题
s:循环取个位法
c:
int n=1234;
while (n) {
int t=n%10;
cout<<t<<" ";
n/=10;
}*/
/* 编程思想:计算思维
1、枚举法: 从开始数到最后,对应for循环,例如:累计相加
2、分类讨论: 分成多种情况分别处理,对应选择结构,例如:每月天数
3、找规律: 列表分析数据,找出规律,例如:小杨的考试
4、打擂台法: 求最大值或者最小值。
5、进位算法: 按照进位的规律逐步推算,例如:休息时间
6、余数应用: 余数的含义,补充加1。例如:图书馆里的老鼠 */
/* 常见错误及其纠正:
1、累加变量没有初始化。应该初始值为0
2、类乘变量没有初始化。应该初始值为1
3、if 条件后紧跟分号,导致语句无效。应该去掉分号。
4、for 循环的i=0后,写逗号。应该是分号。
5、while 条件后紧跟分号,导致语句无效。应该去掉分号。
6、for 循环条件后,紧跟分号,导致循环体失效。应该去掉分号。*/
/* 重点题单:
3091:练16.3 选择题判定 多次字符输入
3093:【例17.2】 蜗牛爬行 分类计算
*/
return 0;
}