算法题目中经常会用到几个while语句,能够同时输入和判断,比较好用

1、while(scanf("%d",&n),n)

功能:当n为0时中止循

这里要先说一下逗号表达式:逗号表达式的值是逗号后面的那个数。例如x=(5,6),则x=6。

while(scanf("%d",&n),n)

括号里的语句其实就是个逗号表达式,它的返回值是n的值,所以这个语句就相当于while(n),n=0时跳出循环,写成这样是为## 标题了输入。

如果是while(scanf("%d%d",&n,&m,),n,m),那么就相当于while(m)。

2、while(scanf("%d",&n)!=EOF)和while(~scanf("%d",&n))

功能:当读到文件结尾时中止循

scanf语句的返回值为成功赋值的个数,例如scanf("%d %d",&a,&b),如果a、b均赋值成功返回值为2,只是a赋值成功返回1,a、b都不成功返回0,出错的时候返回EOF。

~是按位取反,scanf语句如果没有输入值就是返回-1,按位取反结果为0。

注意:这两种方法在输入字母的时候会变成死循环,而scanf("%d %d",&a,&b)==2不会。windows下可通过按“Ctrl +Z”、linux下可通过“Ctrl + D”来来达到“输入”文件结束符的效果,结束循环

3、while(scanf("%d",&n)==1)

功能:赋值失败,跳出循

这个应该很好理解了吧,如果是scanf("%d%d",&n,&m)就是while(scanf("%d %d",&a,&b)==2)

While()和scanf的搭配使用问题相关推荐

  1. 搭配飞行员 dinic

    [网络流24题] 搭配飞行员 ★★☆   输入文件:flyer.in   输出文件:flyer.out   简单对比 时间限制:1 s   内存限制:128 MB [问题描述] 飞行大队有若干个来自各 ...

  2. 问题 B: 小鱼的搭配购物(并查集+01背包)

    问题 B: 小鱼的搭配购物 时间限制: 1 Sec 内存限制: 128 MB [提交][状态][讨论版] 题目描述 小鱼最近特别喜欢口红,决定去选口红,商店里有n支口红,口红被编号为1,2,--n,并 ...

  3. scanf与gets的区分

    1.getsc( )函数将接收整个字符串直到回车为止. 2.scanf()函数相比gets()函数输入字符串存在一个问题,那就是输了空格之后会认为输入字符串结束,空格后字符将作为下一个输入项处理. 当 ...

  4. 【printf函数与scanf函数】(学习笔记5--标准I/O函数)

    标准I/O函数 一.printf函数 二.scanf函数 一.printf函数 printf函数通常被称为"格式化打印函数",它的第一个参数称为"格式化字符串" ...

  5. 学生搭配问题——C++实现队列

    学生搭配问题 一班有m个女生,有n个男生(m不等于n),现要开一个舞会.男女生分别编号坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴.请设 ...

  6. scanf()函数的使用

    1.如果使用scanf()来读取函数中定义的基本变量类型的值,请在变量名之前加一个&. 2.如果受用scanf()把一个字符串读进一个字符数组中,则不需要使用&. 以下为简单的测试程序 ...

  7. P1455 搭配购买

    依旧是并查集为主,这一题我们还需要注意的是"尽量多价值的云"和"一些云朵是搭配买的",一看到"尽量多价值的云"我们就应该能想到01背包问题, ...

  8. 【网络流24题】搭配飞行员(最大流+二分图匹配)

    传送门 搭配飞行员     题意:二分图匹配裸题,不多说 I think Dinic算法跑最大流解决||匈牙利算法 Code 代码一:Dinic #include<cstdio> #inc ...

  9. c语言——输入方式gets,scanf,fgets分析

    我们使用最广泛的输入方式应该是scanf函数,scanf可输入的数据类型范围广,使用便捷.但其也不乏缺陷,而且某些时候使用gets和getchar会更加高效. 先来说说scanf scanf属于std ...

最新文章

  1. Eclipse SDK构建J2EE开发环境
  2. linux管理用户和文件权限
  3. 阿里云RDS vs 自建MySQL,这篇评测终结你的选择困难症!
  4. 宏定义 #define 和常量 const 的区别
  5. 科技部部长:不唯论文,不是讲不要论文
  6. geth 转账_eth客户端安装 geth使用 批量转账(一)
  7. 微服务流控防护场景与应对措施
  8. iQOO Neo6入网:骁龙8旗舰平台+80W快充
  9. cogs 315. [POJ3255] 地砖RoadBlocks
  10. 量子计算机人类复活,死人有没有可能复活?从量子尺度来分析是有可能
  11. 硬盘出现c7导致计算机蓝屏,硬盘存在问题_硬盘存在问题c7
  12. 利用微信JSSDK实现自动定位
  13. AD 画PCB 布线时,连线就变绿
  14. mac电脑如何查看cpu占用率?以及如何修复Mac的“ kernel_task” CPU使用率过高的Bug
  15. linux smb无密码错误,smb无法登录提示用户名密码不正确错误排查
  16. 基于SSM实现的水果店收银系统
  17. Python requests库Proxy代理问题
  18. css3魔方3乘3每层旋转_CSS3 旋转魔方效果
  19. 梯度累加(Gradient Accumulation)
  20. 任天堂游戏 html5,任天堂:会让粉丝们在Switch上玩到《毁灭战士:永恒》

热门文章

  1. python十六进制转为二进制_Python从二进制字符串转换为十六进制
  2. 解决XCOM 工具乱码的问题
  3. springboot之监听器
  4. 快递的派件时效这样分析,几分钟就完成
  5. minio分布式部署
  6. 一个北京妞写给天下所有女人的信
  7. 计算机用电安全知识,【电力科普】用电安全知识
  8. 人工智能的机遇与挑战
  9. Linux 开机启动的三种方法
  10. ZZNUOJ_C语言1112:进制转换(函数专题)(完整代码)