C++
C++的一些语法,函数和基本模型
Grausam
这个作者很懒,什么都没留下…
展开
-
各种输入总结
这里总结了一些看到的输入的各种版本及其实现输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。int k,x;cin >> k;for (int i = 0; i < k; i++) { cin>>x; //do something;}输入只有一行,共有三个参数,其中第1、2个参数为整数,第3个参数为操作符(+,-,*,/)。int a,b;char c;cin>>a>>b>>原创 2021-10-24 23:39:50 · 563 阅读 · 0 评论 -
C语言/C++中常见的转义字符
所有的ASCII码都可以用"“加数字(一般是8进制数字)来表示。而C中定义了一些字母前加”"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符。数据类型对应值对应功能或字符\b8退格\t9水平制表\n10换行\f12换页\r13回车\’39单引号\"34双引号\ooo3位八进制值\xhh2位十六进制值...原创 2021-10-24 20:50:39 · 294 阅读 · 0 评论 -
与指定数字相同的数的个数
描述输出一个整数序列中与指定数字相同的数的个数。关于输入输入分为三行:第一行为N(N为接下来数字的个数,N<=100);第二行为N个整数,以空格隔开;第三行为指定的数字m。关于输出输出为N个数中与m相同的数的个数,如果没有相同的,则输出0。例子输入32 3 22例子输出2源码实现#include<iostream>#include<cstring>#include<algorithm>#include<vector>原创 2021-10-20 09:31:22 · 792 阅读 · 0 评论 -
整数序列中的众数和中位数
描述输入无符号整数序列(不多于500个整数,每个整数不大于150),计算序列的众数和中位数。众数是指出现次数最多的那个数;如果有多个数出现的次数都达到最多,则取最先出现的数为众数;如果所有的数都相等,则众数由大写 NO 表示。中位数是指按大小排序后正好居中的那个数(如果序列有奇数个整数,大小位于序列中最中间的数为中位数,如果序列中有偶数个整数,则取中间两个数的平均值,以除式表示平均值)例如,有如下6个数:6,2,4,2,3,32和3出现的次数最多,均为2次,但序列中2先出现,因此,众数选择2;在原创 2021-10-20 09:17:12 · 756 阅读 · 0 评论 -
奇数单增序列
描述给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按增序输出。关于输入共2行第1行为 N第2行为 N 个正整数,其间用空格间隔。关于输出增序输出的奇数序列,数据之间以逗号间隔。例子输入101 3 2 6 5 4 9 8 7 10例子输出1,3,5,7,9源码实现#include<iostream>#include<algorithm>#include<vector>using namespace std;int原创 2021-10-17 12:04:42 · 448 阅读 · 0 评论 -
数组逆序存储
描述将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。关于输入输入为两行:第一行数组中元素的个数n(1 < n < 100),第二行是n个整数,每两个整数之间用空格分隔。关于输出输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。例子输入58 6 5 4 1例子输出1 4 5 6 8源码实现#include<iostream>#include<algorithm>#include<v原创 2021-10-17 11:53:05 · 3235 阅读 · 0 评论 -
输出前k大的数
描述给定一个数组,数组长度小于1000,统计前k大的数并且把这k个数从大到小输出。关于输入先输入一个n表示数组的长度,然后连续地输入n个数。最后输入一个k。关于输出换行输出前k大的数例子输入104 5 6 9 8 7 1 2 3 05例子输出98765源码实现#include<iostream>#include<algorithm>#include<vector>using namespace std;int main() {原创 2021-10-17 11:47:48 · 369 阅读 · 0 评论 -
按照原本输入的顺序输出其中不重复的数字
#include<iostream>#include<vector>using namespace std;int main() { int n, k; cin >> n; int m; int a[101] = { 0 }; cin >> m; a[m]++; cout << m; //第一个数肯定是不会重复的 for (int i = 0; i < n; i++) { cin >> m; a[m原创 2021-10-16 10:22:37 · 318 阅读 · 0 评论 -
删除数组中的元素
法一利用动态数组,且删除后容器的大小也相应变小。(erase+remove)#include<iostream>#include<vector>using namespace std;int main() { int n,k; cin >> n; vector<int>a(n); //定义一个含n个元素的动态数组 int m; for (int i = 0; i < n; i++) { cin >> m; a[i原创 2021-10-16 10:09:55 · 181 阅读 · 0 评论 -
对象指针相关总结
指向对象的指针对象空间的起始位置就是对象的指针格式:类名*对象指针名指向对象数据成员的指针格式:数据类型名*指针变量名=&对象名.对象数据成员int* p1=&t1.hour;cout<<*p1<<endl;指向对象公用成员函数的指针格式:数据类型名(类名::*指针变量名)(参数表列)=&类名::成员函数名;如:void(Time::* p2)()=&Time::get_time;注意!!需区别于指向普通函数的指针变量的原创 2021-10-04 20:59:02 · 89 阅读 · 0 评论 -
函数相关内容
原创 2021-10-04 20:59:17 · 63 阅读 · 0 评论 -
变量的一些总结
原创 2021-10-04 20:33:43 · 66 阅读 · 0 评论 -
关于类涉及的概念以及作用的一些总结
上图。原创 2021-10-04 20:31:41 · 98 阅读 · 0 评论 -
C++构造函数与析构函数总结
C++使用构造函数和析构函数实现对象的初始化和清理。这两个函数的函数名称与类名相同,且都会被编译器自动调用。如果我们不提供构造和析构,编译器会提供空实现。构造函数析构函数语法类名(){}~类名(){}返回值没有返回值也不写void没有返回值也不写void参数可以有参数,因此可以发生重载不可以有参数,因此不可以发生重载调用情形程序在调用对象时候会自动调用构造,无须手动调用,而且只会调用一次程序在对象销毁前会自动调用析构,无须手动调用,而且只会调用一次原创 2021-10-04 20:26:03 · 141 阅读 · 0 评论 -
选择排序的实现
选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。//选择排序的实现#include<iostream>#include<ctime>#include<cstdlib>using namespace std;int main() { int a[5]; srand((unsigned)time(NULL));//srand函数一定要放在for循环的外面原创 2021-09-23 16:21:39 · 78 阅读 · 0 评论 -
C++中利用rand和srand产生随机数
法一:利用rand函数产生0-RAND_MAX的伪随机序列,其中RAND_MAX定义在cstdlib这一头文件内,其值为2147483647。局限性:由于没有随机种子(实质是利用线性同余法生成),故下次(指第二次运行程序)产生还是同样的序列。优势:可以在极短的时间内产生多个不同的序列。法二:利用srand函数调用时间函数time()需要ctime头文件,利用系统时钟产生随机种子(每秒一个)由于电脑处理的速度很快,所以同时生成的话只能生成两个相同的序列(看例子)#include<iostrea原创 2021-09-22 08:43:42 · 180 阅读 · 0 评论 -
参数传递方式的几点归纳
【参数传递方式的几点归纳】以实现交换功能的函数为例1、单纯的值传递:#include<iostream>using namespace std;void swap(int a, int b) { int t = a; a = b; b = t; cout << a << " " << b<<endl;//这里输出的是swap函数中的a,b}int main() { int a, b; cin >> a >原创 2021-09-21 22:20:12 · 112 阅读 · 0 评论 -
C++一些关于取整函数的归纳
注意:需包含cmath头文件round(x)四舍五入到最近整数ceil(x)朝正无穷方向取整floor(x)朝负无穷方向取整fix(x)朝零方向取整原创 2021-09-24 17:33:15 · 193 阅读 · 0 评论 -
sort排序函数用法总结
注意:使用sort函数需包含algorithm这一头文件。且默认是从小到大排序。(升序)#include<iostream>#include<algorithm>#include<ctime>using namespace std;int main() { srand((unsigned)time(NULL)); int a[10]; for (int i = 0; i < 10; i++) { a[i] = rand() % 10 + 1;原创 2021-09-22 11:04:46 · 1374 阅读 · 0 评论 -
计算浮点数相除的余数
题目计算浮点数相除的余数描述计算两个双精度浮点数a和b的相除的余数,即a÷b的余数。a和b都是正数。关于输入输入仅一行,包括两个双精度浮点数a和b。关于输出输出也仅一行,a÷b的余数例子输入73.263 0.9973例子输出0.4601源码#include<iostream>using namespace std;int main() { double a, b; cin >> a >> b; int t = (int)(a / b);原创 2021-09-24 19:57:10 · 2019 阅读 · 0 评论 -
求一元二次方程的根
描述利用公式x1 = (-b + sqrt(bb-4ac))/(2a)x2 = (-b - sqrt(bb-4ac))/(2a)求一元二次方程 ax2 + bx + c = 0 的根,其中a不等于0。关于输入第一行是待解方程的数目n。其余n行每行含三个浮点数a, b, c(它们之间用空格隔开),分别表示方程ax2 + bx + c =0的系数关于输出输出共有n行,每行是一个方程的根:若是两个实根,则输出:x1=…;x2 = …若两个实根相等,则输出:x1=x2=…若是两个虚根,则输出原创 2021-09-25 12:48:11 · 889 阅读 · 0 评论 -
C++二维动态数组的实现:以编写一个矩阵乘法的程序为例
例题:编写一个矩阵乘法的程序在解答此题之前,让我们先来输出一个简单的二维动态数组,为矩阵乘法程序的编写奠定基础。输出一个简单的二维动态数组#include<iostream>#include<iomanip>using namespace std;int main() { double** matr; int m; cin >> m;//m为行数 int n; cin >> n;//n为列数 mat原创 2021-09-26 13:38:17 · 1113 阅读 · 0 评论 -
字符串函数万字总结【收藏向】
01读入一行进字符串数组使用getline函数#include<iostream>#include<string>//注意这里的头文件是stringusing namespace std;int main() { int i; string s; getline(cin, s);//读入一行 cout << s;}02字符串置零使用memset函数#include<iostream>#include<string>原创 2021-09-28 16:46:49 · 442 阅读 · 2 评论