刷题小知识总结点

1.大小写字母互转以及判断:

用小写字母减去'a'+'A'就能得到大写字母啦。

用大写字母加上'a'-'A'就能得到小写字母啦。

(1).isupper()是判断是否是大写字母的系统函数,tolower()是将大写字母转换为小写字母;
(2).strstr()是在一个字符串里面给定一个字符串,寻找有没有这个字符串;

同时在C++当中,main函数是能够递归的,下面是一个小写转大写的例子

if(cin>>aa){
    if(ch>='a'&&ch<='z')
        ch+='A'-'a';//转换大小写 
        cout<<ch;
	main();//递归调用 
}

2.编译错误

改为>=C11滴编译器

3.函数floor(x)返回不超过x的最大整数;int n=floor(sqtr(m)+0.5),加0.5是为了减少误差;

4.计算运行时间:头文件:#include
clock()/CLOCKS_PER_SEC得到的是以“秒”为单位的数值;

5.要计算只包含加法和减法和乘法的整数表达式除以正整数n的余数:可以在每步计算之后对n取余,计算结果不变;
例如:原始:

int sum=0;
for(int i=1;i<=n;i++)
{
      int a=1;
      for(int j=1;j<=i;j++)
      a*=j;
      sum+=a;
}
cout<<sum%1000000<<endl;

每步取余:

int sum=0;const int mod=1000000;
for(int i=1;i<=n;i++)
{
      int a=1;
      for(int j=1;j<=i;j++)
      a=(a*j%mod);
      sum=(sum+a)%mod;
}
cout<<sum<<endl;

6.scanf的输入格式,空格和tab和回车符都是无关紧要的,所以按enter键并不意味着输入的结束,在window下输入完毕后,先按enter键,再按CTRL+z,最后再按enter,即可结束输入;在Linux下,按CTRL+D;

7.从数组a复制k个元素到数组b,可以这样做:memcpy(b,a,sizeof(int)k),如果是浮点数则:memcpy(b,a,sizeof(double)k);如果是全部复制则:memcpy(b,a,sizeof(a));

作者:Better又
出处:https://www.cnblogs.com/lwyy1223-/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/lwyy1223-/p/13508774.html