数据_数组_容器
1:数据类型
1 /* 2 * 文件名: Charpter2 3 * 描 述: 复习变量的个别基础知识 4 * 作 者:刘雷 5 * 时 间:2019/10/10 6 * 版 权:version 1.0 7 */ 8 #include <iostream> 9 #include <cstdlib>//printf头文件 10 #include <climits>//INT_MAX等常量 11 #include <cmath>//数学头文件 12 #include <iomanip>//控制符头文件 13 #include <windows.h>//窗口头文件 14 using namespace std; 15 #define max_num 16 int main() 17 { 18 19 typedef int so;//typedef是别名的意思,把数据类型int取一个别名叫so 20 so a=12; 21 size_t a1=10; 22 unsigned int a2=10;//size_t和unsigned int的作用一样 23 cout << a << endl; 24 cout << INT_MAX << endl; 25 printf("%d",a); 26 27 //float数据类型不适合展示精确数字,容易丢失数据精度 28 float a3=12345.678910;//保留6位数,所以输出是12345.6,double有效数字位数是16位 29 cout << a3 << endl; 30 31 double a4=100.0/3.0; 32 //强制以小数的方式输出 33 cout << fixed; 34 //控制显示的精度 35 cout << setprecision(5);//显示五位小数 36 cout << a4 << endl; 37 38 //设置小数的宽度setw 39 cout << setw(8) << "|" << 3.14 << setw(8) << "|" << endl;// |3.14000 | 40 41 //SetConsoleTitle("示例:打印德玛西亚之力的详细信息"); 42 cout << left << setfill('*') << setw(8) << "a" << setw(8) << "b" << endl;//a*******b******* 43 cout << right << setfill('*') << setw(8) << "a" << setw(8) << "b" << endl;//*******a******b 44 return 0; 45 }
1 /* 2 * 文件名: Charpter2 3 * 描 述: 在控制台输出指定多行信息 4 * 作 者:刘雷 5 * 时 间:2019/10/13 6 * 版 权:version 1.0 7 */ 8 #include <iostream> 9 #include <windows.h> 10 using namespace std; 11 int main() 12 { 13 SetConsoleTitle("打印英雄盖伦的详细信息"); 14 double value_attack = 57.88; 15 double value_attack_distance = 172; 16 double value_defence = 27.54; 17 double value_magicResist = 32.10; 18 double value_life = 616.28; 19 double value_life_growth = 7.84; 20 double value_magic = 0.00; 21 double value_magic_growth = 0.00; 22 double value_speed = 340; 23 string orriention = "上单 辅助 打野"; 24 double dianjuan = 450; 25 double coins = 1000; 26 cout << "德玛西亚之力*盖伦" << endl; 27 cout << "伤害:"<< value_attack << "(+4.50)\t攻击距离:" << value_attack_distance << endl; 28 cout << "护甲:"<< value_defence << "(+3.00)\t魔抗:" << value_magicResist << "(+1.25)" << endl; 29 cout << "生命:"<< value_life << "(+84.25)\t生命回复:" << value_life_growth << "(+0.50)" << endl; 30 cout << "法力:"<< value_magic << "(+0.00)\t\t法力回复:" << value_magic_growth << "(+0.00)" << endl; 31 cout << "移速:"<< value_speed << "\t\t定位 " << endl; 32 cout << "点券:"<< dianjuan << "\t\t金币 " << coins << endl; 33 34 return 0; 35 }
随机数
1 /* 2 * 文件名: Charpter2 3 * 描 述: 学习随机数 4 * 作 者:刘雷 5 * 时 间:2019/10/13 6 * 版 权:version 1.0 7 */ 8 #include <iostream> 9 #include <cstdlib> 10 #include <ctime> 11 using namespace std; 12 int main() 13 { 14 /* 15 stdlib.h头文件中有宏#define RAND_MAX 0x7fff 16 rand()产生一个0到0x7ffff即0到32767之间的随机数 17 r and()/(RAND_MAX+1.0)就等于一个0到1之间的小数了, 18 因为rand()最大是32767最小是0,再除以32768就是一个 19 0到1之间的小数(不能等于1),再乘以10就是一个0到10之 20 间的数了(不等于10).最后再加1,就成了一个求1到10之间 21 随机数的式子了.*/ 22 int start = 5; 23 int end =15; 24 srand(unsigned(time(NULL))); 25 for(int i=0;i<10;i++){ 26 cout << int(start+(end - start)*rand()/(RAND_MAX+1.0)) << endl; 27 } 28 29 return 0; 30 }
1 /* 2 * 文件名: Charpter2 3 * 描 述: 使用循环模拟实现玩家BOSS战 4 * 作 者:刘雷 5 * 时 间:2019/10/13 6 * 版 权:version 1.0 7 */ 8 #include <iostream> 9 #include <cstdlib> 10 #include <ctime> 11 using namespace std; 12 int main() 13 { 14 int HP1 = 100;//八神庵的血量 15 int HP2 = 100;//草薙京的血量 16 int attack1 = 0;//八神庵的攻击值 17 int attack2 = 0;//草薙京的攻击值 18 int i = 0;//计数器 19 srand(unsigned(time(NULL))); 20 while(true){ 21 i++; 22 cout << "--------第" << i << "轮战斗开始-------" << endl; 23 attack1 = 5+10 * rand() / (RAND_MAX + 1); 24 attack2 = 5+10 * rand() / (RAND_MAX + 1); 25 HP1 -= attack2; 26 if(attack2 < 10){ 27 cout << "草薙京使用普攻使八神庵掉了" << attack2 <<"血量" << endl; 28 }else{ 29 cout << "草薙京使用大招使八神庵掉了" << attack2 <<"血量" << endl; 30 } 31 if(HP1 < 0){ 32 cout << "八神庵被击败,草薙京取得胜利" << endl; 33 break; 34 } 35 HP2 -= attack1; 36 if(attack1 < 10){ 37 cout << "八神庵使用普攻使草薙京掉了" << attack1 <<"血量" << endl; 38 }else{ 39 cout << "八神庵使用大招使草薙京掉了" << attack1 <<"血量" << endl; 40 } 41 if(HP2 < 0) 42 { 43 cout << "草薙京被击败,八神庵取得胜利" << endl; 44 break; 45 } 46 cout << "--------第" << i << "轮战斗结束--------" << endl; 47 } 48 cout << "--------第" << i << "轮战斗结束--------" << endl; 49 return 0; 50 }
容器
1 /* 2 * 文件名: Charpter2 3 * 描 述: 学习vector 4 * 作 者:刘雷 5 * 时 间:2019/10/14 6 * 版 权:version 1.0 7 */ 8 #include <iostream> 9 #include <vector> 10 #include <algorithm> 11 using namespace std; 12 int main() 13 { 14 vector<double> v = {1.2, 4.1, 44.0, 32.2};//未指定大小 15 vector<string> v1 = { "a", "an", "the" };//列表初始化 16 vector<double> v2(4);//指定了大小,但可以扩充,只不过要重新分配内存块,耗时 17 vector<int> v3(10,1);//十个一 18 vector<int> v4(v3);//v4=v3 19 20 for(int i = 0; i < v.size(); i++){//遍历 21 cout << v[i] << " "; 22 } 23 cout << endl; 24 v.push_back(100);//加入100 25 for(int i = 0; i < v.size(); i++){ 26 cout << v[i] << " "; 27 } 28 cout << endl; 29 v.pop_back();//弹出 30 v.pop_back(); 31 for(int i = 0; i < v.size(); i++){ 32 cout << v[i] << " "; 33 } 34 cout << endl; 35 vector<double>:: iterator it;//使用迭代器遍历 36 sort(v.begin(),v.end());//正向排序 37 for(it = v.begin(); it != v.end(); ++it){ 38 cout << *it << " "; 39 } 40 cout << endl; 41 reverse(v.begin(), v.end());//逆向排序 42 for(it = v.begin(); it != v.end(); ++it){ 43 cout << *it << " "; 44 } 45 cout << endl; 46 for(int i = 0; i < v1.size(); i++){ 47 cout << v1[i] << " "; 48 } 49 cout << endl; 50 v1.clear();//清空 51 for(int i = 0; i < v1.size(); i++){ 52 cout << v1[i] << " "; 53 } 54 cout << endl; 55 v.insert(v.begin(),1.0);//pos是插入和删除的地址 56 v.erase(v.end()-1); 57 for(int i = 0; i < v.size(); i++){ 58 cout << v[i] << " "; 59 } 60 cout << endl; 61 return 0; 62 }
作者:你的雷哥
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。