算法竞赛
来源:互联网 发布:淘宝精品服饰广告案例 编辑:程序博客网 时间:2024/05/16 11:35
1.#include<math.h>
double floor(n);return 比n小的最近的整数
2.一定要注意:变量的类型和你输入输出的类型出现差错则系统不会报错;但算出来的结果会错
3.long long (int)类表示范围在-2^63~2^63-1,即8byte
4.求余取末位:比如要取某数末2位,则n%100;如:123%100=23, 1234%100=34;取末n位则10^n;
5.int x,a;a=scanf("%d",&x),此时a=1,即scanf函数返回值是输入的个数,但不熟悉printf返回值,好像也没用,无需知道
6.对书本上的文件定向一脸懵逼
7.printf("%d\n",(double)s/n);会有无提示的bug,转换为浮点数后又以整数输出则为0;至少要以float形式输出
8.在多数据的题目中:在计算完一组数据后某些变量没有重置,影响到下组数据的求解,如书本的数据统计P32
9.当嵌套的两个代码块中有同名变量时,内层的变量会屏蔽外层变
11.c语言和C++在输出时有很大的区别,例如韩信点兵:C++中用TAB输入多组数据后按回车键输出所有答案,而C语言中输入完后必须先输入Ctrl+Z才能输出所有答案,否则格式出错
12.以后输出空格都可以用cout<<" ",不要想那么多
13.在C++中要输出保留一定位数的浮点数需要:#include<iomanip> 和 << setprecision(5) << fixed,fixed是使保留的数从含e转化为不含e
14.
#include<stdio.h>#include<string.h>int main(){int a[max],b[max];while(scanf("%d",&x)==1){a[n++]=x;} memcpy(b,a,sizeof(int)*3);//该程序用来把数组a中的3个元素(从第零个开始)复制到数组b中,在C++中同样使用
memset(a,3,sizeof(a))//用来把数组a所有元素变3
}
15.int a=0;则!a等于1(并非任意数)
16.C++中cout<<endl<——>cout<<"\n";
17.字符串输入输出问题:读入的字符不含空格 TAB 回车
memcpy(b,a,sizeof,sizeof(char)*k)。。。。见书本P39
#include<stdio.h>int main(){char s[10];scanf("%s",s);printf("%s",s);return 0;}18.sprintf函数:输出多次时,把最后一个值输入到buf中;即本题输出12000 20,也可以也可以sprintf(buf,"saff"),不过这样做毫无必要,因为其等同于char buf[100]="saff",
#include<stdio.h>即本题输出//#include<string.h>int main(){char buf[100];for(int abc=111;abc<=12000;abc++)for(int de=11;de<=20;de++)sprintf(buf,"%d %d",abc,de);printf("%s",buf); }
19.strchr.查找字符串s中首次出现字符。c的位置,返回首次出现c的位置的指针,如果s中不存在c则返回NULL。
20.遇到空格 回车 TAB输入都会终止,只输出你按这下键之前的字符
#include<stdio.h> int main(){char s[100];scanf("%s",s);printf("%s",s);}21.字符输入问题
#include<stdlib.h>#include<stdio.h>int main(){char ch;int i=0;while(i<=8){i++;//scanf("%c",&ch);只能输入9个字 ch=getchar();//空格 回车 TAB等都算一个字符,因此输出最多五个字符+4个空格等 putchar(ch);}return 0;}
22(1).
#include<stdio.h>int main(){int q=1,c;while((c=getchar())!=EOF) //输入Ctrl+Z时满足 EOF //while(scanf("%c",&c)==1)输出 Ctrl+Z时满足个数为零 {//fflush(stdin);用了会清除 if(c=='"'){printf("%s",q?"``":"''");q=!q;}elseprintf("%c",c);//每输入一次空格就输出一次c,但结束所有输入还是要 Ctrl+Z}return 0;}
(2)过很久自己重做还是不会
#include<stdio.h>int main(){char k;int i,j=1;while(scanf("%c",&k)==1) //在这里两种方法都可以 //while((i=getchar())!=EOF){if(k=='"'){//i=j? "``":"''"; 不能把字符串赋值给字符 //putchar(i);printf("%s",j? "``":"''");j=!j;}elseputchar(k);}return 0;}
- 算法竞赛
- 算法竞赛_KMP算法
- 算法竞赛入门经典
- 算法竞赛入门经典
- 《算法竞赛入门》读书笔记
- 算法竞赛入门学习
- 关于大学生算法竞赛
- 算法竞赛第一章练习
- 索引—算法竞赛
- 【算法竞赛】:分数拆分
- README: 算法竞赛入门
- 算法竞赛 基本模板
- acm 算法竞赛 时间
- 算法竞赛入门---洪水
- 算法竞赛细节汇总
- 算法竞赛知识点总结
- 算法竞赛-黑白图像
- 算法竞赛-走迷宫
- spring bean的获得方式
- 积极应对认真调查Note7燃损原因 彰显企业担当
- Linux 孤儿、僵尸、服务进程创建
- Linux-ubuntu 日记( 1 )- 传输文件+连接网络
- laravel5.2学习笔记一:配置
- 算法竞赛
- hibernate 遇到的问题
- 2017寒假测试
- 三星高层正面回应 Note7爆炸事件,表态将加强后续产品安全管理
- JAVA源码分析Collection之Map
- 关于Java的语言问题汇总
- 9.3.6
- 【Android基础】RecyclerView的设计艺术
- 博为峰Java技术文章 ——JavaSE Swing JPanel II