-
个人简介
不会头文件看我:
#include<iostream> using namespace std; int main(){ return 0; }
最小公倍数(2个数)代码:
#include<iostream> using namespace std; int main(){ int n,m; cin>>n>>m; for(int i=max(n,m);;i++){ if(i%n==0){ if(i%m==0){ cout<<i<<endl; return 0; } } } return 0; }
其他的有:
简单函数:pow(); max(); min(); abs(); 不开long long 一场空; 注意数据范围!!!!!! 考试文件读写:freopen("array.in","r",stdin); freopen("array.out","w",stdout); 还有文件头:#include<cmath> #include<cstring> #include<algorithm> 等等
这是《大小质数》的答案
#include<iostream> #include<cmath> using namespace std; bool ss(int x){ if(x<2) return 0; for(int i=2;i<=sqrt(x);i++){ if(x%i==0) return 0; } return 1; } int main(){ int n; cin>>n; for(int i=n+1;i<100000001;i++){ if(ss(i)==1){ cout<<i<<" "; break; } } for(int i=n-1;i>=2;i--){ if(ss(i)==1){ cout<<i<<" "; break; } } return 0; }
游戏时间
#include<iostream> #include<cstring> #include<cstdlib> using namespace std; int a[4]; int main(){ int ans; string t[4]; t[0]="1,2,3,4,5,6,7"; t[1]="1,3,5,7"; t[2]="2,3,6,7"; t[3]="4,5,6,7"; cout<<"读心术猜数"<<endl; cout<<"请你从下面7个数中,选一个并记在心里"<<endl; cout<<t[0]<<endl; system("pause"); for(int i=1;i<=3;i++){ system("cls"); cout<<i<<"问:下面的数中有吗?0:没有,1:有"<<endl; cout<<t[i]<<endl; do{ cin>>a[i]; } while(a[i]<0 || a[i]>1); } ans=4*a[3]+2*a[2]+a[1]; system("cls"); cout<<"你心中想的数是:"<<ans<<endl; return 0; }
自定义函数:
1.思考自定义函数需要实现什么功能 2.需要几个参数 3.自定义函数返回一个什么值(1.返回1和0帮助主程序判断 2.返回答案到主程序使用)
循环拆数
重新组合数 最大公因数和最小公倍数 因数质数 123 6 while(n!=0){ sum=sum+n%10;//求某个数各个数位上的和 if(n%10==?)//判断数位上的数字出现了多少次 { cnt++; } n/=10; } while(n!=0){ s=s*10+n%10; n/=10; } 如果这个n后续还要使用的话,就需要找变量存起来。(n在while循环结束后会变成0)
最大公因数:
__gcd(a,b) __gcd(a,__gcd(b,c)) 性质: 两个数的乘积=最大公因数*最小公倍数 求最小公倍数 a*b/__gcd(a,b) → a/__gcd(a,b)*b
因数:
for(int i=2; i<=n-1; i++) { if(n%i==0)//找到因数 { } }
这是《用筛选法输出1到n之间所有的质数》的答案
#include<iostream> #include<cmath> using namespace std; bool a[10001]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ a[i]=true; } a[0]=false; a[1]=false; for(int i=2;i<=sqrt(n);i++){ if(a[i]){ for(int j=i*i;j<=n;j+=i){ a[j]=false; } } } for(int i=2;i<=n;i++){ if(a[i]==true){ cout<<i<<endl; } } return 0; } //bits/stdc++.h
题目时间
请大家认真作答,很有必要
简介
string是C++的STL库中的一种容器;在使用方式上大致和char型数组一样。相对于原来的char型数组,string新增了一些功能和特性。
1、和字符数组一样,string的每一个元素都是char类型,都是以\0作为字符串的结束。
声明和赋值 使用数据类型 空格 变量名来定义字符串,使用赋值符号可以直接给字符串赋初始值。
2.定义一个名为s1的字符串 写作 ________.
3.定义一个名为s1,值为"hello"的字符串 ,写作________。
4.假设已经定义好了s1和s2,要把s1的值存放在s2中 写作s2=s1。
输入方式 5.和字符数组类似,字符串也有两种输入情况,一种是字符串中_____的情况。另一种是字符串中_______的情况。
6.要向字符串s1中输入"nihao" ,可以直接写作_______。
7.要向字符串s1中输入"ni hao ya", 可以直接写作__________. (格式:getline(cin,变量名))。
获取长度函数 8.使用 s.size() 或者 s.length() 来获取字符串的有效长度,s表示字符串的变量名。
要输入字符串 s1,量取它的长度 存放在int变量len中 ,并将长度输出出来。应该写作?
#include<iostream> using namespace std; int main(){ ________; ________; ________; ________; return 0; }
遍历方式 string的遍历方法与数组相同。 9.需要注意的是 它的下标总是从0开始,那么最后一个下标总是长度-1,
同样的 string 也可以使用 ______ 直接输出。
拼接: 使用'+'法可以完成字符串的拼接操作。 例如: "NI" + "HAO" 的返回结果是"NIHAO";
#include<iostream> using namespace std; int main(){ string s1,s2; cin>>s1>>s2; s1+s2; cout<<s1<<","<<s2<<"\n"; s2=s2+s1; cout<<s1<<","<<s2<<"\n"; s1+=s2; cout<<s1<<","<<s2<<"\n"; return 0; }
10.若输入abc dh 那么程序的输出结果是:
11.若输入He llo那么程序的输出结果是:
12、若把第 ____ 行删掉,程序仍然能够运行且不会影响输出结果。
string的字典序 要比较string的字典序可以直接使用比较运算符,他会按照字典序的比较规则进行比较。
请在其中填上比较运算符
13
"ABC" < "abc" 在下标0的位置 得到了比较结果。 "B" > "ABC" 在下标0的位置 得到了比较结果。 "he" < "hello" 在下标2的位置 得到了比较结果。 "he" = "he" "9" > "111" 在下标0的位置 得到了比较结果。
阅读程序
#include<iostream> using namespace std; int main(){ string s1,s2; cin>>s1>>s2; if(s1 ____ s2) cout<<"YES"; else cout<<"NO"; return 0; }
14、输入ABC c要想得到YES 那么需要在 第6行的横线处 填上 <;
#include<iostream> using namespace std; int main(){ string s1,s2; cin>>s1>>s2; if(_____________________ ) cout<<"YES"; else cout<<"NO"; return 0; }
15 要想使得输入9 110 以及 4 5 都能够得到YES ,而输入5 4以及11 9 得到NO那么需要在 第6行的横线处 填上 s1.size()<s2.size()|| s1.size()==s2.size() && s1<s2;
交换 string的交换和普通变量的交换没有区别。都可以直接使用交换函数直接交换。
16.要先输入两个字符串,交换内容后以空格隔开两个串输出,可以写作。
#include<iostream> using namespace std; int main(){ _______; _______; _______; _______; return 0; }
翻转函数 17.使用
reverse(s.begin(),s.end()来进行翻转,这个函数没有返回值。会直接改变原来的串。
其中s.begin() 是一个迭代器,实际上是s的开始地址,那么s.end()就是s的结束地址。
reverse会把该范围的内容进行逆转。
string s="hello"; reverse(s.begin(),s.end()); cout<<s;
18.若将第2行改成reverse(s.begin(),s.begin()+3); 那么输出的结果是_____.
查找函数 s.find(a,pos); 表示在s串的 pos下标处开始查找a串。 找到的时候会返回该字符串的首次出现位置
string s="hellohello",a="ll"; cout<<s.find(a,0);
19 .输出的结果是____2____。 找不到的时候,会返回一个极大值,这个极大值用int变量接收后 得到-1。
20.输入s和t 如果t是s的子串 输出yes,否则输出no,需要在横线上写上
#include<iostream> using namespace std; int main(){ ________; ________; ________; if(______) cout<<"Yes"; else cout<<"No"; return 0; }
#include<iostream> #include<cstring> using namespace std; int main(){ int l=0; string s; getline(cin,s); string a; cin>>a; int k=0; int x; string t[800]=""; for(int i=0;i<s.size();i++){ if(s[i]!=' '){ t[i].push_back(s[i]); } x=t.find(a,0); } return 0; }
-
最近活动
- 2025.2.16小学组月赛补题 作业
- 2025.1.24 ~ 2025.1.26 小学组第 10 次周赛补题 作业
- 2025.1.24 ~ 2025.1.26小学组第10次周赛 OI
- 2025.1.17 ~ 2025.1.19 小学组第 9 次周赛补题 作业
- 2024.12.29 小学组十二月月赛 OI
- 2024.12.20 ~ 12.22 小学组第 6 次周赛补题 作业
- 2024.12.13 ~ 12.15 小学组第 5 次周赛补题 作业
- 2024.12.6 ~ 12.8 小学组第 4 次周赛补题 作业
- 2024.12.1 小学组十一月月赛补题 作业
- 2024.11.22 ~ 11.24 小学组第 3 次周赛补题 作业
- 2024.11.15 ~ 11.17 小学组第 2 次周赛补题 作业
- 2024.11.8 ~ 11.10 小学组第 1 次周赛补题 作业
- 2024.10.26 CSP-X 小学组 赛前模拟 ACM/ICPC
- 2024.10.20 图灵 CSP-X 模拟赛补题 IOI
- 2024.10.20图灵编程CSP-X模拟赛 ACM/ICPC
- 10.13普及组模拟赛补题场 IOI
- 2024.10.13 图灵 CSP-X 赛前第二次训练赛 补题 IOI
- 2024.10.13 图灵 CSP-X赛前第二次训练赛 ACM/ICPC
- 9月30日 图灵复赛模拟赛(补题场) 作业
- 2024年8月23日CSP-X初赛模拟赛3-补题 作业
- 历年CSP初赛真题 作业
- 2024年8月16日CSP-X初赛模拟赛2-补题 作业
- 2024年8月16日CSP-X初赛模拟赛2 OI
- 2024年8月2日 初赛练习(6)【小学组】-补题场 作业
- 2024年7月26日 初赛练习(5)【小学组】-补题场 作业
- 2024年7月19日 初赛练习(4)【小学组】-补题场 作业
- 2024年7月19日 初赛练习(4)【普及组】 OI
- 2024年7月12日 初赛练习(3)【小学组】-补题场 作业
- 2024.6.23 图灵六月月赛小学组(CSP-X)模拟赛 作业
-
Stat
-
Rating