C++深似海
文章平均质量分 56
在处理C++代码的时候遇到的问题以及解决
EthanForest
通信本科,深度学习体系结构研究生
展开
-
C++格式化输出相关
添加头文件iomanip1.控制输出格式的函数setprecision(int n) //设置实数精度为n位setw(int n) //设置字段宽度为n位setfill(char x) //设置填充字符为xsetiosflags() //设置输出格式状态resetiosflags() //终止已设置的输出格式状态注意:setprecision(n)函数,控制输出浮点数的数字个数,而且进行四舍五入,而且若尾数均为0,则不输出0若先用ios::fixed进行输出格式限定.原创 2021-03-03 16:07:09 · 98 阅读 · 1 评论 -
C++函数
占位参数直观了解void fun(int a, int){//其中int(不带变量名),为占位参数cout<<"this is func"<<endl;}//调用函数的时候,如果没有默认参数,必须将占位参数填补才能调用fun(2,10);//10不能省(占位参数必须填补)占位参数可以有默认参数void fun(int a, int=10){//占位参数int 设定初值为10cout<<"this is func"<<endl;}占位原创 2021-04-09 23:34:57 · 189 阅读 · 0 评论 -
C++标准库STL学习(更新中)
文章目录迭代器的理解STL中的顺序表——vector使用示例定义迭代器vector类中的方法begin、end、front、back方法的区别迭代器的理解1)迭代器不是指针,是类模板,只是使用起来和指针有很多相似。2)迭代器返回的是对象引用而不是对象的值,所以使用值时要使用取内容操作符“*”3)迭代器的类成员就是指针4)迭代器指向的对象是容器STL中的顺序表——vectorvector:向量内部使用数组来实现的类模板顺序表原理详见《数据结构与算法》使用示例#include<ios原创 2021-03-08 20:44:27 · 212 阅读 · 0 评论 -
C++数学操作
文章目录包含的头文件开方和乘方包含的头文件#include<math.h>开方和乘方double pow(double x, double y)//其中 x是底数,y 是指数pow(3,1.0/3)//意思是3的1/3次方pow(2,2.0)//意思是2的平方原创 2021-07-27 09:22:41 · 60 阅读 · 0 评论 -
C/C++理论知识补充
1.预处理比如#include<iostream>实际上就是将iostream文件中所有内容拷贝到这个文件中2.operator实际上是种函数比如cout<<"hello world"<<"\n";其实就是cout.print("hello world").print("\n");原创 2021-01-06 17:07:51 · 159 阅读 · 1 评论 -
C++质数的寻找和判断方式(代码)
根据质数的定义,可以知道,如果一个数所有小于他的质数都不是他的因数,那么他就是质数#include<iostream>#include<vector>using namespace std;//key是要判断的数字,a是vector类的元素,其中保存了所有比key小的质数bool check(int key,vector<int>& a) { for (int i = 0; i < a.size(); i++) { if (key % a[原创 2021-07-31 09:14:02 · 1529 阅读 · 0 评论 -
C++数字类型(int,float,double)转化为字符串类型(string)
文章目录函数(C++11之后)一些条件下可能不满足要求借助字符串流函数(C++11之后)to_string(类型,数字)一些条件下可能不满足要求浮点数可能有精度损失一些老的OJ系统不能使用借助字符串流点击查看原文标准库定义了三种类型字符串流:istringstream,ostringstream,stringstream,看名字就知道这几种类型和iostream中的几个非常类似,分别可以读、写以及读和写string类型,它们也确实是从iostream类型派生而来的。要使用它们需要包含sst原创 2021-07-30 18:39:32 · 1605 阅读 · 0 评论 -
C/C++练习题目总结
统计所有字母的个数题目:从键盘输入一行或几行字符串,行数由键盘输入,一行字符串用字符数组存储。请统计所输入的字符串中26个字母(不区分大小写)出现的次数,并将出现次数非零的字母统计结果输出到屏幕上,格式参见样例。如果没有字母,请输出字符串中无字母。出错的代码如下:#include<iostream>using namespace std;int main() { int hang,log=0; char a[26] = { 0 }; char ch[10000]; c.原创 2021-01-07 16:39:29 · 772 阅读 · 0 评论 -
大一上C++复习笔记
大小写转换方法1:用ASCII码关系,小写字母-32为大写字母,大写字母+32为小写字母方法2:使用toupper和tolower函数,但是要注意,这两个函数的返回值为int型,如果使用要显示转换为char型。//========例子=========//#include<iostream>using namespace std;int main() { char a = 'a'; char b = 'B'; cout <<(char) toupper(a) .原创 2020-12-17 19:40:31 · 1386 阅读 · 0 评论 -
如何判断输入的是浮点型还是整型
因为输入浮点数一定存在小数点所以,在此使用字符数组,记下输入的数字,若其中存在该字符,则为浮点型,否则为整型。代码示例:char str[15]={0};bool n=false;//是否为浮点数cin>>str;for (i = 0; str[i]; i++){ if (str[i] == '.')//若出现小数点 n=true;//为真 break; }...原创 2020-12-11 18:54:51 · 2658 阅读 · 0 评论 -
C++学习笔记:指向数组的指针(例题)
指向元素的指针:int a[10]={0,1,2,3,4,5};int *p=a;则数组p是指向int型元素的指针;*(p+i)是数组a的第i+1个元素指向一位数组的指针int b[][3]={1,2,3,3,4,5};//定义一个二维数组int (*p)[3];//创立一个指向一维数组的指针p=b;//因为b的元素可看为一维数组,所以p指向第一个一位数组b[0]题目int[][3]={10,20,30,40,50,60};int(*p)[3];p=n;cout<<原创 2020-12-03 17:30:25 · 688 阅读 · 0 评论 -
计算文本中空格个数(学习一些判断文件结束的语句)
自己初次代码#include<iostream>#include<fstream>using namespace std;char hold[1000] = {0};//建立暂时存放字符数组int spanum = 0, cnum = 0;int count(char a,int n) { ifstream Inf("e:\\youth.txt"); while (!Inf.eof()) { Inf.getline(hold, 1000, '\n'); i原创 2020-11-24 00:25:46 · 323 阅读 · 0 评论 -
C++学习笔记:fstream,ifstream和oftream的区别
fstream不会覆盖文件中原本的内容,会沿着内容最后一位继续写ofstream打卡文件后就将文件清空,再进行输入例子(1)ftream#include<iostream>#include<string>#include<fstream>#include<iomanip>using namespace std;struct student { int num; string name; float Mscore; float原创 2020-11-14 23:49:16 · 1697 阅读 · 0 评论 -
C++学习笔记:rand函数
rand函数生成0~RAND_MAX之间的数,RAND_MAX至少为32767,二进制为1111111111111111(16个)rand()%32;//产生[0,32)的伪随机数rand()%32+1;//产生[1,33)的伪随机数srand((unsigned)time(NULL));rand();//产生真正的随机数...原创 2020-11-07 20:42:43 · 151 阅读 · 0 评论 -
getline基本应用,C++学习笔记
在istream中的getline()函数有两种重载形式:istream& getline (char* s, streamsize n );istream& getline (char* s, streamsize n, char delim );作用是: 从istream中读取至多n个字符(包含结束标记符)保存在s对应的数组(用于数组)中。即使还没读够n个字符,如果遇到delim 或 字数达到限制,则读取终止,delim都不会被保存进s对应的数组中。...原创 2020-10-31 10:30:01 · 52 阅读 · 0 评论 -
C++学习记录:数组清空
1、memset函数格式memset(&Address,0,sizeof(Address))e.g.memset(ch,'\0',sizeof(ch));将ch数组清空为‘\0’2、strcpy函数格式strcpy(name,"");原创 2020-10-31 10:09:13 · 5414 阅读 · 0 评论 -
C++学习记录:循环语句中unsigned int死循环问题
C++学习:循环语句中unsigned int死循环问题代码for (unsigned int count = 9; count >= 0; --count) cout << count << " ";程序陷入死循环原因,当count=0时,二进制补码存储为全0,再减一,变为全1,在unsigned int中为2^32-1,陷入死循环...原创 2020-10-30 10:19:42 · 570 阅读 · 0 评论