-
个人简介
笔记: 字符串的结束标志'\0' '\0'ASCII=0 有结束标志'\0',可以整体输出,可以使用字符串相关函数对其进行处理 1、'\0'整体是一个字符,所以使用单引号,其ASCLL码为0 2、所有字符串都是在不确定字符串字符个数的情况下,使用\0表示字符串结束 以下情况字符串数组中会包含结束标志 1、对字符串数组进行整体输入 2、人为修改某个字符为'\0' 3、对字符串数组进行任何形式的初始化,前提是该字符数组有剩余空间存放'\0' 4、双引号默认有'\0' 1、scanf("%s",s); 会被空格打断,也就不能获取 2、gets(s); 因为安全性问题,最新的c++已经不再支持 3、fgets(s,n.stdin); 从标准输入读入时,会将行末回车符一起覆盖 1、cin>>s; 会被空格覆盖,也就是不能获取空格 2、cin.getline(s,n); n为读取字符数量的上限 double atof(const char*str); 将str转为double进行返回 #include<stdlib.h>
埃式筛计算质数个数(最省时)
#include<iostream> #define ll long long using namespace std; bool mk[100000001]; int main(){ int n,cnt=1; cin>>n; for(long long i=3;i*i<=n;i+=2){ if(mk[i]==0){ for(long long j=i*i;j<=n;j+=i*2){ mk[j]=1; } } } for(int i=3;i<=n;i+=2){ if(mk[i]==0){ cnt++; } } cout<<cnt; return 0; }
高精度加法-倒序模拟
#include<bits/stdc++.h> using namespace std; string a,b,sum; int main(){ cin>>a>>b; int i=a.size()-1,j=b.size()-1,k=max(i,j),jin=0,s; sum.resize(k+1); for(;k>=0;i--,j--,k--){ if(i<0){ s=b[j]-'0'+jin; } else if(j<0){ s=a[i]-'0'+jin; } else{ s=a[i]-'0'+b[j]-'0'; } jin=s/10; sum[k]=s%10+'0'; } if(jin){ cout<<1; } cout<<sum; return 0; }
-
通过的题目
-
最近活动
题目标签
- 初窥门径
- 76
- 略有小成
- 42
- 顺序结构
- 36
- 循环结构
- 22
- 驾轻就熟
- 22
- 分支结构
- 20
- 一维数组
- 17
- 字符串
- 16
- 循环嵌套
- 15
- 搜索
- 9
- 枚举
- 9
- 电子学会三级
- 9
- 电子学会一级
- 9
- 蓝桥杯
- 8
- 电子学会二级
- 8
- 排序
- 7
- 模拟
- 6
- 递推
- 5
- 二维数组
- 5
- 其他
- 4