首页 > 学院 > 开发设计 > 正文

做patBasic的感受总结和知识点记录

2019-11-06 09:27:50
字体:
来源:转载
供稿:网友

知识点:

1、将整型转换成字符串 

(1)、要包含头文件#include<sstream>

ostringstream oss;

string str;

int num=0;

oss<<num;

str = oss.str();

(2)、使用sPRintf函数

char str[10];      // 但只能是char类型的,string类型的不行int a=1234321;sprintf(str,"%d",a);

关于数据类型之间的转化更多的参见:http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2621803.html

2、malloc函数的使用,分配内存空间

	stuInfo *stu; 
	int num;  // num是stu	
	stu = (struct stuInfo *)malloc(num*sizeof(struct stuInfo));
	free(stu);   // 使用后要释放内存空间。

3、素数的判断

	bool prime(int value)	{  		if (value % 2 == 0 && value != 2)          // 判断是不是偶数  		{  		return false;  		} 		 for (int j = 2; j <= sqrt(value); j++)     // sqrt要包含头文件#include<math>    		{    			if (value%j == 0)   		 	{      				return false;   		 	} 		 }  		return true;	}	

4、字符串的输入

string input;

getline(cin, input);  // 可以实现带有空格的字符串的输入

cin>>input:           // 只能输入空格之前的字符串

5、长度未知的一组整型数据的输入

  do{       scanf("%d", &tmp_input);       scanf("%c", &c_tmp);       input.push_back(tmp_input);    } while (c_tmp != '/n');

// 已知组数,未知长度,使用getchar()实现字符的捕捉。

  for (int i = 0; i < 3; i++)  {      cin >> tmp_input;      input[i].push_back(tmp_input);      if (getchar() == '/n')        break;    }

6、输出正数的精度(小数的位数)

	int ave_A4;
	cout << setiosflags(ios::fixed) << setprecision(1) << ave_A4 << " "; // 要包含头文件#include<iomanip>

7、结构体+降序函数的使用

struct stuInfo{  int no;  int moral_score;  int talent_score;  bool Operator < (const stuInfo &A) const{                              // 这里是进行排序的依据    if (moral_score + talent_score != A.moral_score + A.talent_score)      return moral_score + talent_score > A.moral_score + A.talent_score;    else{      if (moral_score != A.moral_score)        return moral_score > A.moral_score;      else        return no < A.no;    }  }};
vector<stuInfo> stu[10];
......                         // 输入数值
sort(stu.begin(), stu.end());  // 排序  包含头文件#include<algorithm>

8、以指定的长度输出整型的长度

printf("%04d", output);

9、用printf输出比cout输出更节省时间。

// 17年2.28更新

10、对比两个数组

vector<int> A,B;

equal(A.begin(), A.end(), B.begin());

总结:

1、patB的难度比较低,主要考察思维的全面性和缜密性;

2、注意审题;

3、要注意数据类型的使用;

4、要学会优化程序。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表