这篇笔记只是一片普普通通平平凡凡个人使用的小笔记,觉得没有用就关掉这个标签页吧。
正标题:关于C++中那些自认为神奇的关键词和用法(也有可能是我太菜)
敲头痛的向左对齐其实超简单(setw头文件iomanip)
for(int i=1;i<=5;i++) { for(int j=1;j<=5;j++) cout<<setw(5)<<left<<i*j; cout<<endl; }
等效于
for(int i=1;i<=5;i++) { for(int j=1;j<=5;j++) printf("%-5d",i*j); printf(" "); }
当你只想输出结果后return 0 而又不(lan)想(de)打花括号,也许 * 可以帮上忙
#include<iostream> #include<stdio.h> using namespace std; int main() { int n; scanf("%d",&n); for(int i=2;i*i<=n;i++) if(!(n%i)) return 0*printf("合数"); return 0*printf("质数"); }
论如何不打出多余的换行符
for(int i=1;i<=n;i++) printf("%d %d%c",p[i].a,p[i].b," "[i>=n]);
想同时退出多个循环的时候还有一个语句
for(int i=1;i<=n;i++) { for(int j=i;j<=m;j++) { //无聊的一段代码 for(int j=1;j<=m;j++) { //无聊的一段代码 if(/*奇奇怪怪的东西*/) goto go;//跳转中... } } //又是一段无聊的代码 go://你想要到达的地方 }
同学们你们知道吗,其实进制转换有函数的(抱住我无知的小脑袋)(转换二进制的语句头文件bitset)
cout<<"2进制:"<<bitset<8>(n)<<endl; cout<<"8进制:"<<oct<<n<<endl; cout<<"10进制:"<<dec<<n<< endl; cout<<"16进制:"<<hex<<n<<endl; //<8>表示保留8位输出
等效于
printf("%05o ",n); //按八进制格式输出,保留5位高位补零 printf("%03d ",n); //按十进制格式输出,保留3位高位补零 printf("%05x ",n); //按十六进制格式输出,保留5位高位补零
判断一个字符是不是数字字符,你是不是在用
if(ch>='0' && ch<='9')
其实你还可以用(头文件#include<ctype.h>)
if(isdigit(ch))