c/c++ 输入输出技巧
C:
小数的四舍五入问题
小数用 %.xf 输出的话 是会自动四舍五入的
比如说
double e = 2.718, c = 3.141;
printf("%.2lf\n", e);
printf("%.2lf\n", c);
printf("%.2lf\n", (int)(e * 100) / 100.0);
printf("%.2lf\n", (int)(c * 100) / 100.0);
运行结果
也就是说 如果要求 不要让它进位 像整数除法一样,那么就要类似于那样的操作
如果要保留任意 从键盘输入的N位小数输出一个数字 那怎么办呢
printf("%.*lf\n",c,d); // c 表示保留的小数位数,它替代的是*的位置
对齐问题:
printf("%-5d\n%5d", a, b); //左对齐 无负号 右对齐
填充问题
printf("%05d\n", a); // 如果输出的位数不够五位 自动用0补齐 或者还可以用空格补齐 好像不能填充其他符号吧,,C语言
读入问题
scanf("%1d", &a); // 这样就会只读进来一位数字
读入字符问题
printf(" %c", &c); // 这样就可以防止读入空格 因为%c 前面的空格可以吸收空格和空行 就不用再打 getchar()
按格式读入问题
比如说有的题目的input 要求是 (a, b)
但实际上 我们只需要 读入a 和 b 就可以了
scanf("(%d,%d)", &a, &b); // 只要按照它的格式 来就可以了 就像前面的空格可以吸收空格和空行一样
C++
保留小数问题
double e = 2.718, c = 3.141;
cout << fixed; // 表示按照小数形式输出小数 默认是按照科学计数法输出小数
cout.precision(2); // 表示输出的小数保留几位
cout << e << " " << c << endl;
如果要按格式输出 比如左对齐 右对齐
double e = 2.718, c = 3.141;
cout << setw (20); // 宽度
cout << left << e << endl; // 左对齐
cout << right << e << endl; // 右对齐
填充问题
double e = 2.718, c = 3.141;
cout.fill('*'); // 填充'*' 实际上 ' ' 里面是随便填的 不像 c 里面 只能填充0 和 空字符
cout << left << setw(20) << e << endl; // 表明 左对齐 宽度20
cout << right << setw(20) << e << endl; // 表明 右对齐 宽度20
c/c++ 输入输出技巧的更多相关文章
- Java一点输入输出技巧
输入: 格式1:Scanner sc = new Scanner(System.in); 格式2:Scanner sc = new Scanner(new BufferedInputStream(Sy ...
- 学大伟业 Day 1 培训总结
第一天培训,讲的基本算法,东西很多.还有些数论,图论,数据结构and some small tricks 一.输入输出技巧 //输入输出技巧 /* scanf.printf:速度快,需要记忆不同数据类 ...
- FPGA编程技巧系列之输入输出偏移约束详解
1. 偏移约束的作用 偏移约束(Offset Constraint)用来定义一个外部时钟引脚(Pad)和数据输入输出引脚之间的时序关系,这种时序关系也被称为器件上的Pad-to-Setup或Clo ...
- 【OI技巧】解决cin、cout因输入输出慢而TLE的问题
语言本身没有问题!! 语言本身没有问题!! 语言本身没有问题!! C++本来的设计就是将输入输出流和C的标准输入输出挂钩在一起,这样就导致cin,cout输入输出前先要将内容放入缓冲区,最后再由cin ...
- SQL Server存储过程Return、output参数及使用技巧
SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000 ...
- MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)
振动论坛原版主eight的经典贴http://www.chinavib.com/thread-45622-1-1.html MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于 ...
- DOS下常用网络命令技巧
DOS,即使对于许多自称了解计算机的人而言,也是一个比较陌生的词汇.然而,在网络管理过程中,DOS命令却是一个不可逾越的障碍,几乎所有的网络命令都运行在DOS界面.对初级用户而言,掌握一些常用网络命令 ...
- 最有用的Linux命令行使用技巧集锦
最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...
- WEB/HTTP 调试利器 Fiddler 的一些技巧分享
1.原理简介: Fiddler 是目前最强大最好用的 Web 调试工具之一,它能记录所有客户端和服务器的http和https请求, 允许你监视,设置 CGI 请求的断点,甚至修改输入输出数据.同类的工 ...
随机推荐
- 杭电 HDU 2717 Catch That Cow
Catch That Cow Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- 用Python实现邮件发送Hive明细数据
代码地址如下:http://www.demodashi.com/demo/12673.html 一.需求描述 客户需要每周周一接收特定的活动数据,生成Excel或是CSV文件,并通过邮件发送给指定接收 ...
- kafka 0.8.1 新producer 源码简单分析
1 背景 最近由于项目需要,需要使用kafka的producer.但是对于c++,kafka官方并没有很好的支持. 在kafka官网上可以找到0.8.x的客户端.可以使用的客户端有C版本客户端,此客户 ...
- windows快捷启动命令
gpedit.msc-----组策略 sndrec32-----录音机 nslookup----- ip地址侦测器 explorer------ 打开资源管理器 logoff-------注销命令 t ...
- java之UDP(datagramsocket,datagramPacket)实例
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import ...
- nginx 根据参数选择文档根目录
server { listen 80; server_name testmanage.h5.91wan.com; index index.html index.htm ...
- SWERC13 Decoding the Hallway
找规律 S+1 = S +'L'+~rev(S) Problem D Decoding the Hallway Problem D Edward is now 21 years old. He has ...
- Debian Epson L455 打印机
要使用打印机必须要在本机(或局域网其他机器)上安装打印服务,L455是网络打印机,需要IPP协议,而mDNS-scan和avahi-utils是用来发现网络打印机的服务,由于我是摸索着安装的,没太研究 ...
- 为div添加滚动效果:
为div添加滚动效果: .xxxx{ width: 100%; height: 100%; overflow: hidden; overflow-y: auto;} 代码片段 <div clas ...
- eclipse配置jp.gr.java_conf.ussiy.app.propedit_5.3.3
配置PropertiesEditor插件 jp.gr.java_conf.ussiy.app.propedit_5.3.3 1.下载PropertiesEditor插件 http://pan.ba ...