
C语言——算法竞赛入门经典
关于涤生
撑起两根穷骨头,养活一团春意思
展开
-
<缓冲区清空>cin和scanf——输入错误与缓冲区清空
scanf缓冲区清空scanf(“%*[^\n]%*c”)失败??无限循环。scanf("% *[^ \n]");scanf("%*c");成功·%〔^\n〕将逐个读取缓冲区中的’\n’字符之前的其它字符,·第一个%*表示将读取的这些字符丢弃,前遇到’\n’字符时便停止读取操作,·第二个%*c,缓冲区中尚有一个’\n’字符遗留,所以将读取并丢弃这个遗留的换行符,这里的星号和前面的星号作用相同(由于所有从键盘的输入都是以回车结束的,而回车会产生一个’\n’字符,所以将’\n’连同它之前的字符全部原创 2020-10-29 00:14:04 · 882 阅读 · 0 评论 -
<算法竞赛入门经典>第三章 数组和字符串——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 · 192 阅读 · 0 评论 -
第二章<输入输出重定向>——懒癌患者如何不用手动逐个输入数据?
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 · 324 阅读 · 0 评论 -
(第二章)★如何输入不确定数目的数★(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 · 369 阅读 · 0 评论 -
第二章
#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 · 120 阅读 · 0 评论 -
C和C++篇——各种各样的函数
时间函数#include <windows.h> //取系统时间LARGE_INTEGER tick, begin, end;QueryPerformanceFrequency(&tick); //取计数器频率QueryPerformanceCounter(&begin); //取初始硬件定时器计数//中间程序运行//QueryPerformanceCounter(&end); //获得终止硬件定时器计数cout &l原创 2020-10-20 19:24:30 · 185 阅读 · 0 评论 -
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 · 430 阅读 · 0 评论 -
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 · 253 阅读 · 0 评论 -
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 · 148 阅读 · 0 评论 -
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 · 1444 阅读 · 0 评论 -
《算法》第一章——程序设计入门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 · 168 阅读 · 0 评论 -
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 · 3721 阅读 · 1 评论