PAT程序设计
VS2013中自行对齐的快捷键操作: CTRL+K+F
1、定义二维数组
int (*run)[4]=new int [num][4];
2、绝对值函数
int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值
----------
输出前面补'0' ==>%02d ==>两位精度,0补齐
1 cout<<"Only "<<hh<<c<<mm<<". Too early to Dang."; 2 printf("Only %02d:%02d. Too early to Dang.",hh,mm);
----------
1 cout<<"Only "<<hh<<c<<mm<<". Too early to Dang."; 2 printf("Only %02d:%02d. Too early to Dang.",hh,mm);
----------
出错提示 term does not evaluate to a function
1 for (i = 0; i>p; i++) //打印上面p行,每行一侧各有i个空格 2 { 3 ==> for (j = 0; j < 2(p - i); j++) //打印左半部分空格 4 //这里的j < 2(p - i);缺少了一个'*' 5 { 6 cout << " "; 7 } 8 for (j = 0; j<2 * i + 1; j++) 9 { 10 cout << c; 11 } 12 for (j = 0; j<2 * (p - i); j++) //打印you右半部分空格 13 { 14 cout << " "; 15 } 16 cout << endl; 17 }
----------
判断素数
bool is_prime(int n)//对n进行判断 { if(n<2)//如果n小于2就不是素数,素数规定大于或等于2的整数 return false; //for (int i=2;i*i<=n;i++)//判断是否为素数可以使用所有比n小的数与n相除,如果能除开就不是素数,但是其实只需要判断到i*i>=n就可以了,因为此时已经不存在比i大的数能把n除开啦,仔细想想就会明白啦 //上面这样会超时 for (int i=2;i<=sqrt(n);i++) { if(n % i == 0) return false; } return true; }
----------
输入字符串
int num; char ch; string str; scanf("%d %c",&num,&ch); getchar(); <== getline(cin,str); <==
----------
VS2015中C代码报不安全
加一条指令 #pragma warning(disable:4996)
----------
在string对象中插入字符
1 string num; 2 num.clear(); 3 int i = 0; 4 while (sum != 0) { 5 num.insert(i++, 1, ('0' + sum % 10)); 6 //num[i] += '0' + sum % 10; //这是不行的 7 sum = sum / 10;
----------
string对象查找子串
1 string str; 2 if(str.find("branches")==str.npos){ } //没找到