scanf

字符字符串输入函数区别

…衆ロ難τιáo~ 提交于 2020-02-19 03:12:34
getch 与getchar getchar: 当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区内,直到用户按回车键为止(回车键也保存在缓冲区内)当用户键入回车后,getchar才开始从stdio流中每次读入一个字符getchar函数的返回值是用户输入的第一个字符的ASCII码,若文件结尾(End-Of-File)则返回-1(EOF),且将用户输入的字符回显到屏幕如果用户在按回车键之前不止输入了一个字符,其他字符会保存在键盘缓冲区内,等待后续getchar调用也就是说,后续的getchar程序调用不会等待用户按键,而是直接读取缓冲区内的字符,直到缓冲区内的字符读完,才会等待用户按键 getch : 接受任意一个键的输入,不用按回车就返回,且该函数的输入不会自动输出到屏幕上,需要用putchar()输出函数显示getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上 getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行 头文件: getchar() 用#include<stdio.h> getch() 用

POJ 3468 A Simple Problem with Integers splay

孤街浪徒 提交于 2020-02-19 01:45:48
题意:给你一个数列,区间更新和区间询问 解题思路:splay指针版撸的,4700 ms险过 解题代码: 1 // File Name: spoj3468.cpp 2 // Author: darkdream 3 // Created Time: 2014年11月05日 星期三 19时40分26秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9 #include<deque> 10 #include<stack> 11 #include<bitset> 12 #include<algorithm> 13 #include<functional> 14 #include<numeric> 15 #include<utility> 16 #include<sstream> 17 #include<iostream> 18 #include<iomanip> 19 #include<cstdio> 20 #include<cmath> 21 #include<cstdlib> 22 #include<cstring> 23 #include<ctime> 24 #define LL long long 25 #define maxn 100010 26 using namespace std;

set和迭代器失效总结

寵の児 提交于 2020-02-18 19:43:35
set 的相关知识点:重点是 去重 和 排序 !!! 默认按照 升序 排列!!! set 的常见操作: 1. 定义:set<数据类型>name; 2. 与map不同,count使用来 判别一个元素是否存在在set中 name.count(x); 3. name.insert(x); 4. name.erase(x);//插入和删除都要注意迭代器失效!!! erase函数返回被删除元素的下一个元素的迭代器。 erase(iterator) ,删除定位器iterator指向的值 erase(first,second),删除定位器first和second之间的值 erase(key_value),删除键值key_value的值 5. name.size(); 1. http://acm.nefu.edu.cn/contestShow.php 第一点要设置集合数组!!! 第二点找两个集合中相同数目的个数的方法: int k=0; for(set::iterator it=vis[num1].begin(); it!=vis[num1].end(); it++) if(vis[num2].count(*it)) k++; # include <bits/stdc++.h> using namespace std ; set < int > vis [ 52 ] ; int main ( )

ceshi

烈酒焚心 提交于 2020-02-18 03:47:08
# include <stdio.h> # include <stdlib.h> int main ( ) { //scanf(格式控制字符串,参数地址表); int a , b ; //scanf("%d %d",&a,&b); //scanf("%d,%d",&a,&b); //输入3 4 得到a=3,b=39 //scanf("a=%d,b=%d",&a,&b);//注意如果函数scanf()格式控制字符串中存在除格式说明符以外的其他字符,那么这些字符必须输入数据时由用户从键盘原样输入 //要求 输入数据限定以下格式1234 同时输出结果a=12,b=34 //scanf("%2d%2d",&a,&b); // //要求输入数据限定格式12\n34,同时要求程序输入结果为a="12",b="34",该如何 //scanf("%2d%2d",&a,&b); //printf("a=\"%d\",b=\"%d\"\n",a,b); //若用户可用任意字符作为分隔符输入数据, scanf ( "%d%*c%d" , & a , & b ) ; //*为抑制字符称忽略输入修饰符使得对应的输入项在读入后不赋给任何变量,%c表示以字符型格式输入,%*c,读入后,不赋值给任何变量 printf ( "a=%d,b=%d\n" , a , b ) ; } 来源: CSDN 作者: 单身宅男

树链剖分

蹲街弑〆低调 提交于 2020-02-17 11:30:27
cogs||bzoj1036 树的统计count 题目大意:模板题。 思路:模板题。 #include<iostream> #include<cstdio> #define maxnode 30001 #define mid (l+r)/2 #define inf 2100000000LL using namespace std; struct use{ int fa,top,siz,son,dep,tid; }tree[maxnode]={0}; struct seg{ int maxn,sum; }t[maxnode*4]={0}; int point[maxnode*2]={0},next[maxnode*2]={0},en[maxnode*2],tot=0,tt[maxnode],wi[maxnode]; char ch[10]; bool visit[maxnode]={false}; void add(int st,int enn) { ++tot;next[tot]=point[st];point[st]=tot;en[tot]=enn; ++tot;next[tot]=point[enn];point[enn]=tot;en[tot]=st; } void findc(int u,int fa,int depth) { int i,j,maxsiz=0; visit

训练赛

爱⌒轻易说出口 提交于 2020-02-17 06:45:04
题:寒假训练赛2月12号A题 题意:给出三种颜色的灯的数量,组成一个花环,求是否存在相邻颜色不同的灯排列方式,首尾灯的颜色可以相同。 思路:运用贪心算法,先找出最大的数,如果最大的数大于其余两个数相加再加一,结果返回no,如果小于或等于其余两数加一,那么取完最大数之后,其余两数相等或相差一,这是排列能够进行。 # include <cstdio> # include <iostream> # include <algorithm> using namespace std ; int a [ 10 ] ; int main ( ) { int i ; scanf ( "%d" , & i ) ; while ( i -- ) { scanf ( "%d%d%d" , & a [ 1 ] , & a [ 2 ] , & a [ 3 ] ) ; sort ( a + 1 , a + 1 + 3 ) ; if ( a [ 1 ] + a [ 2 ] + 1 >= a [ 3 ] ) { printf ( "Yes\n" ) ; } else { printf ( "No\n" ) ; } } return 0 ; } 来源: CSDN 作者: qq_43596281 链接: https://blog.csdn.net/qq_43596281/article/details

C语言scanf(),和数组使用过程中的一点点错误

我们两清 提交于 2020-02-17 05:39:45
上代码 /* 编译没有任何问题,出错运行的写法 */ int i , k ; int m , n ; scanf ( "%d\t%d\n" , & i , & k ) ; printf ( "%d,%d\n" , i , k ) ; scanf ( "%d\t%d\n" , & m , & n ) ; printf ( "%d,%d\n" , m , n ) ; 查查查,大佬们说,貌似,scanf后面的括号中;双引号中的格式和逗号中的格式要一样。scanf从buffer中遇到回车才会停止取东西,去掉\n试试,于是乎,改改改 /* 真香,可编译正确运行 */ int i , k ; int m , n ; scanf ( "%d %d" , & i , & k ) ; /* 从空格分开连续输入的数字,*/ printf ( "%d, %d\n" , i , k ) ; scanf ( "%d %d" , & m , & n ) ; /* 例如:4 5,5之后就按回车,scanf就会停止取东西了*/ printf ( "%d, %d\n" , m , n ) ; /****************************************************************/ 数组 int array [ 2 ] [ 13 ] ; 取第一行第五个元素 /* right

面向对象程序设计寒假作业3

大城市里の小女人 提交于 2020-02-16 21:56:46
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020OOP 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10288 这个作业的目标 1.继续完成作业二的编程题。 2.优化架构,思考代码的拓展性 3.或者扩大数字范围,支持负数 4.编译代码 5.测试代码 6.作业上传仓库 作业正文 https://www.cnblogs.com/Sweetxinxin/p/12316634.html 其他参考文献 https://www.cnblogs.com/sddai/p/10249243.html https://www.cnblogs.com/hclw/p/9560442.html https://wenda.so.com/q/1365038777067506 仓库地址 https://github.com/Sweetxinxin/winter-vocation-homework-3 Part 1 第二次作业完善 a.编译脚本 经过询问同学查找资料第二次作业得到了有效解决 关于编译脚本的路径问题,通过配置gcc环境及在控制面板中找到高级选项环境变量的path中添加gcc的路径 找到名为ComSpec的系统变量,查看是否是 :“%SystemRoot%

scanf函数加空白符

廉价感情. 提交于 2020-02-16 21:14:34
scanf()中空白字符(包括/n,space)会使scanf()函数在读操作中略去输入中的零个或者一个或者多个空白字符,空白符可以是space,tab,换行 等等,直到第一个非空白符出现为止。 sacnf ("%d ", &a[i]);的%d后面有个空格时,在输入数字后,sacnf会跳过所有空格字符,包括回车符,直到遇到不是空格字符才退出 scanf加空白符之后的效果: 空白符 : 空格(space)、TAB、回车(\r)、换页(\f)、换行(\n) while((c = getchar()) == ’ ’ || (c = getchar()) == ‘\t’ || (c = getchar()) == ‘\n’);//跳过空白符、注意while语句后面是分号 while((c = getchar()) == ’ ’ || (c = getchar()) == ‘\t’ || (c = getchar()) == ‘\n’) { NULL; } 就是while语句内什么也不做,和上面的写法等同 #include <stdio.h> int main(void) { int a = 0; scanf("%d\n",&a); printf("%d\n",a); return 0; } scanf中加\n输入: (在这里\n可以是空白符的任意一个) 20 s //这里可以是任意一个字母

scanf与scanf_s的区别

爷,独闯天下 提交于 2020-02-16 18:33:56
1.scanf()不会检查输入边界,可能造成数据溢出。scanf_s()会进行边界检查。 _s”后缀的函数是为了让原版函数 更安全 ,传入一个和参数有关的大小值,避免引用到不存在的元素,防止hacker利用原版的不安全性(漏洞)黑掉系统。 2.scanf的调用格式为:scanf("<格式化字符串>",<地址表>)。  scanf_s()用于读取字符串时, 必须提供一个数字以表明最多读取多少位字符 ,以防止溢出。  scanf_s("%s" , buffer,128);//此处必须加上128,表示最多可以读取128位,不然运行会报错。 来源: https://www.cnblogs.com/syq816/p/12317909.html