- 博客(34)
- 收藏
- 关注
原创 指针常量与常量指针
const int* p = str; //指针指向的内容不可更改int* const p =str; //指针不可以指向其他地方
2020-12-19 00:00:58 220 1
原创 键盘输入一个回车符,‘\r‘ 还是 ‘\n‘
getchar()键入一个回车——返回值为’\n’,ASCII码为10——换行符getchar()流输入函数,自动把’\r’‘转换为’\n’char ch = getchar(); //输入回车cout << int(ch); //输出10(='\n') #include<conio.h>getch()键入一个回车——返回值为’\r’,ASCII码为13——回车符getch()和getche()或_getch()或_ge
2020-11-22 08:18:12 1521
原创 <源代码>冒泡排序法.cpp
#include<iostream>using namespace std;void bubble_sort(int grade[], int n) //冒泡排序法——从小到大。{ int i, j, temp; for (i = 0; i < n; i++) //每一次循环后都使得最大的第i数放到了倒数第i个位置 for (j = 0; j < n - i; j++) //两两比较大小 {
2020-11-14 05:29:42 191
原创 <程序>汉诺塔与递归的理解
作者:IT边界链接:https://www.zhihu.com/question/24385418/answer/128213752来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。汉诺塔永远只有三步:作者:梁大炮链接:https://www.zhihu.com/question/24385418/answer/252603808来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要用程序来解决这个问题,我们先定义一个移动函数:.
2020-11-07 04:52:51 238
原创 <程序>输入年份,月份——打印月历
#include <iostream>#include<iomanip>#include<cmath>using namespace std;int zeller(int y, int m){ int w, c = y / 100; y %= 100; w = y + y / 4 + c / 4 - 2 * c + 13 * (m + 1) / 5 ; w %= 7; w >= 0 ? w : w += 7; return w;}int
2020-11-01 18:36:54 616 1
原创 键盘控制光标移动作业
#include <iostream>#include <cstdio>#include <conio.h>#include <time.h>#include <windows.h>#include <cstdlib>using namespace std;const int MAX_X = 69; //定义*组成的边框的宽度const int MAX_Y = 17; //定义*组成的边框的高度/*********
2020-11-01 13:22:59 668
转载 什么是地址
首先,必须要知道内存地址只是一个编号,代表一个内存空间。那么这个空间是多大呢?原来在计算机中存储器的容量是以字节为基本单位的。也就是说一个内存地址代表一个字节(8bit)的存储空间。无论何种存储器,软盘、硬盘、光盘或者内存,都有地址。因为它们要存储数据,所以就必须按一定的单位的数据分配一个地址。有了地址,程序才能找到这些数据。这很好理解,想想你们家为什么要有门牌号即可。内存地址:计算机把所有的信息都给数字化了,所以它知道自已把一个数据,一条命令记到了内存中的哪个(些)位置。关于第三行,你可以这样理解
2020-10-31 13:48:46 5278
原创 <缓冲区清空>cin和scanf——输入错误与缓冲区清空
scanf缓冲区清空scanf(“%*[^\n]%*c”)失败??无限循环。scanf("% *[^ \n]");scanf("%*c");成功·%〔^\n〕将逐个读取缓冲区中的’\n’字符之前的其它字符,·第一个%*表示将读取的这些字符丢弃,前遇到’\n’字符时便停止读取操作,·第二个%*c,缓冲区中尚有一个’\n’字符遗留,所以将读取并丢弃这个遗留的换行符,这里的星号和前面的星号作用相同(由于所有从键盘的输入都是以回车结束的,而回车会产生一个’\n’字符,所以将’\n’连同它之前的字符全部
2020-10-29 00:14:04 836
原创 <程序>
打印由123456789组成的三个三位数,和为1953int a = 1, b, c, n = 1, x, y, z; //123 854 976 for (;a <= 5;a++) { for (b=a+1;b<=8;b++) { for (c = b + 1; c <= 9; c++)//百位结束,正确 { for (int a2=1; a2 <= 9; a2++) { if (a2 == a || a2 == b || a
2020-10-28 13:32:29 607 4
原创 <课堂笔记>10-28递归11.4变量储存11.6数组
1.函数的递归调用——函数直接或间接调用自己:必须要判断是否进行,1参数中间是不算的2必须在函数里调用m=max2(max2(a,b),c)不算。2.如何写递归只考虑两层关系(而不是全局),且能-1已知=>数学归纳:假设n-1次以求得确定值,确定第n-1和第n次的关系。3.汉诺塔问题(只能用递归)从B移动到C,共10层。4.转进制4.栈溢出(不设定终止条件)fun永远在保存而不恢复现场。不断保存现场而不恢复现场,栈只进不出。而如下的每次abcd…都在栈里堆着。可以设置“堆栈大小
2020-10-28 10:46:52 186
原创 <算法竞赛入门经典>第三章 数组和字符串——3.1数组-例题实现
/程序3-1 逆序输出/???为什么还是正序输出???——不同的数要加空格。 /*程序3-1 逆序输出*/#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#define maxn 105 //what?int a[maxn];int main(){ int x, n=0; while (scanf("%d", &x) == 1) a[n++
2020-10-25 10:02:34 176
原创 第二章<输入输出重定向>——懒癌患者如何不用手动逐个输入数据?
C语言版#define _CRT_SECURE_NO_WARNINGS#define LOCAL //头文件#include<stdio.h>#include<math.h>#include<time.h>int main(){#ifdef LOCAL // freopen("input.txt", "r", stdin); //数据
2020-10-23 14:42:22 302
原创 (第二章)★如何输入不确定数目的数★(eg.求任意数目的的数的平均值、最大、最小)
int x, n = 0, min=100000000, max=0, s = 0; while (scanf("%d",&x)==1) { s += x; if (x < min)min = x; if (x > max)max = x; n++; } printf("%d %d %.3f\n", min, max, (double)s / n);}输入★任意数目★的数的方法while(scanf("%d",&x)==1)解释——当输入未结..
2020-10-23 14:14:33 326
原创 第二章
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<math.h>int main(){ int n, count = 0; scanf("%d", &n); //&你居然能又忘。。。 long long n2 = n; /*避开对long long的输入和输出,但仍能继续运算 ★point is在输入时虽然超出了int范围,仍能正常赋给long long*/ while (n2 &g
2020-10-20 21:26:10 103
原创 待解决问题合辑
算法第一章p16问题2:double型浮点数能精确到多少位整数和小数,还是整个问题本身值得商榷?问题3:double型浮点数最大正数值和最小正数值分别是多少?(不必特别精确)
2020-10-20 21:25:19 86
原创 C和C++篇——各种各样的函数
时间函数#include <windows.h> //取系统时间LARGE_INTEGER tick, begin, end;QueryPerformanceFrequency(&tick); //取计数器频率QueryPerformanceCounter(&begin); //取初始硬件定时器计数//中间程序运行//QueryPerformanceCounter(&end); //获得终止硬件定时器计数cout &l
2020-10-20 19:24:30 169
原创 1.5.2数据类型与输入格式1.5.3习题
-nan(ind)和(null)实验A:sqrt(-1)输出是多少%d时输出0,%f和%lf时输出-nan(ind),%s时输出(null)这都是啥?实验A4:1.0/0.0和0.0/0.0error:对零求模或被零除习题1-1 平均数#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<math.h>int main(){ double a, b,c; scanf("%lf %lf %lf.
2020-10-20 06:02:05 371
原创 我哭了——学分不保篇——注意——开学才一个月——啊这能学?——完犊子
格式问题。。。老师发的昨夜里没说第一行要注释啊啊啊啊哭哭哭艹艹艹???w实验课上机作业md最后一分钟根本提交不上去(大哭),必须做完一个交一个草泥马草泥马
2020-10-19 06:28:58 179 1
原创 问题合辑+注意事项——1.浮点型除法结果总为整数?2.float的数注意后缀加f 3. if else无{}时就近配对
1.浮点型除法结果总为整数?double型赋值,除法结果为什么是整数!??? double v1; v1 = 4/3 ; cout << v1 << endl;这就鬼了???v1是double型啊?为什么输出为整型? double v1; v1 =4.0/3.0 ; cout << v1 << endl;啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈高兴!!!!!!4/3——整型4除以整型3——还未
2020-10-18 13:50:59 248
原创 1.4分支结构程序设计(短路运算,三数排序)
1-11短路运算int a=1, b=2, c=3, d=4, m=1, n=1;(m=a>b)&&(n=c>d);cout << m << n << endl;对于&&,如果左侧为假,不计算右侧对于| | , 如果左侧为真,不计算右侧输出n=1(即不被n=c>d赋值),虽然3>4为假,但左假,短路,跳过。1-12三整数排序#define _CRT_SECURE_NO_WARNINGS#inclu
2020-10-18 06:58:09 206
原创 1.3顺序结构程序设计
1-8变量交换(1)——三变量法#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main(){ int a, b, t; scanf("%d%d", &a, &b); t = a; a = b; b = t; printf("%d %d\n", a, b); return 0;}1-9变量交换(2)——两个变量a=a+b;b=a-b;a=a-b;1-10变量交换(3)——bestsc
2020-10-18 06:32:30 133
原创 结合性,优先级
右结合条件运算符——判别式1?表达式2:表达式3右结合 /优先级 高于赋值eg:f(x)=(x>0)?1:(x0)?0:1 等价于f(x)=(x>0)?1:((x0)?0:-1;
2020-10-16 22:37:31 164
原创 C语言与C++的格式化输入与输出
头文件#include<stdio.h>输出printf输入scanf注意事项如下。#define _CRT_SECURE_NO_WARNINGS //空格!!!!!#include<stdio.h>int main(){ int n,m; scanf("%d", &n); //加引号,加& ,不要在%和d中间加空格!!!! m = (n % 10) * 100 + (n / 10 % 10) * 10 + (n / 1.
2020-10-15 15:02:25 1409
原创 《算法》第一章——程序设计入门1.1/2变量及其输入
pi的使用#include<math.h>const double pi=acos(-1.0)acos是一个函数,其功能是求反余弦。acos(-1.0)就是求-1.0的反余弦,再赋值给double类型的常变量pi //cos(pi)=-1 acos(-1)=pi
2020-10-15 06:33:36 152
原创 VS2019用C语言scanf不安全报错问题
1.都说在开头加上#define_CRT_SECURE_NO_WARNINGS就好,为什么我不行?版本太新?——方案一不管用。2.项目->属性->配置属性->C/C++ ->预处理器->预处理器定义->编辑最下面加上一行:_CRT_SECURE_NO_WARNINGS (不需要#define)可以运行,但有warning,我宁愿用scanf_s,不香吗。3.最不济,就用vs允许的安全方法 scanf_s即可...
2020-10-15 05:52:38 3647 1
原创 循环语句while,do while,for,嵌套
while循环关于while循环终止break的问题。//break:注意,与“猜对了”复合执行,故不要忘了else后复合语句的{}。//随机数种子不要少打括号 srand((unsigned int)time(NULL)),要有头文件//这个val=0???//猜数字#include <iostream>#include <ctime>using namespace std;int main(){ srand((unsigned int)time(NU
2020-10-11 10:12:51 1006 1
原创 C++零星知识点——随机数、控制符、switch语句、延时循环、绝对值、关系运算、逻辑运算与短路、输出素数
生成随机数——rand()%eg. rand()%100 生成0到99的随机数rand()%100+1 生成1到100的随机数。
2020-10-11 09:33:36 384 1
原创 《关于垃圾大学生就是想表示自己还在学习并且给大家看看这件事》
条件运算符笔记:?:eg1 c=a>b?a:b这里的c=赋值语句使用方法。eg2 a>b?(max=a,min=b):(max=b,min=a)等价于if(。。。) 。。。else。。。右结合——f=x>0?1:(x0)?0:-1 问,括号里这就直接给x赋值了?等价于f=x>0?1:((x0)?0:-1)...
2020-10-04 16:39:43 122
原创 除零取余对零取模——编译不报错。但运行无输出、返回代码为负值、运行时间长
#include using namespace std;int main(){int a = 5, n = 12;a %= n %= 2;cout << a<<" "<<n<< endl;return 0;}除0取余无法运算。无法进行到return0这一步。
2020-09-28 23:30:46 2686 7
原创 函数设计标准格式:有返回值的函数——what is int stonetolb(int)?
课本例题再实现:有返回值的函数:what is int stonetolb(int)?有返回值的函数是什么意思。及其细节理解。当然了,下面这样更简单。没必要另设函数,因为pounds值仅为一个常量顺带一提,main()函数只能返回值为int整数,但我们试试小数时的stonetolb,如下...
2020-09-25 16:40:44 722
原创 老子终于摆脱Hello World啦
来分析error原因:赋值语句不能在cout的输出语句中出现,这啥情况?改为书中代码,仍然:好像是文件夹内文件位置的错误。从文件夹内打开。cincarrots.cpp 如上,问:如何运行?为何无法调试?...
2020-09-24 17:09:01 102
原创 初学C++的小白问题
初学C++的小白一头雾水自问自答1.c++中的#include using namespace std 什么意思?包含iostream文件。iostream实际上是一个头文件(iostream.h),安装C++环境时就已经存在机子里面了,然后使用#include把这个文件包含进来,就可以使用这个文件里面的代码了。std名称空间:相当与一个程序,使电脑识别下文中的函数 cin cout endl的意思是输入,输出等含义。这个就叫预处理器。你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎
2020-09-24 16:33:33 118 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人