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++ 输入输出技巧的更多相关文章

  1. Java一点输入输出技巧

    输入: 格式1:Scanner sc = new Scanner(System.in); 格式2:Scanner sc = new Scanner(new BufferedInputStream(Sy ...

  2. 学大伟业 Day 1 培训总结

    第一天培训,讲的基本算法,东西很多.还有些数论,图论,数据结构and some small tricks 一.输入输出技巧 //输入输出技巧 /* scanf.printf:速度快,需要记忆不同数据类 ...

  3. FPGA编程技巧系列之输入输出偏移约束详解

    1.   偏移约束的作用 偏移约束(Offset Constraint)用来定义一个外部时钟引脚(Pad)和数据输入输出引脚之间的时序关系,这种时序关系也被称为器件上的Pad-to-Setup或Clo ...

  4. 【OI技巧】解决cin、cout因输入输出慢而TLE的问题

    语言本身没有问题!! 语言本身没有问题!! 语言本身没有问题!! C++本来的设计就是将输入输出流和C的标准输入输出挂钩在一起,这样就导致cin,cout输入输出前先要将内容放入缓冲区,最后再由cin ...

  5. SQL Server存储过程Return、output参数及使用技巧

    SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000 ...

  6. MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)

    振动论坛原版主eight的经典贴http://www.chinavib.com/thread-45622-1-1.html MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于 ...

  7. DOS下常用网络命令技巧

    DOS,即使对于许多自称了解计算机的人而言,也是一个比较陌生的词汇.然而,在网络管理过程中,DOS命令却是一个不可逾越的障碍,几乎所有的网络命令都运行在DOS界面.对初级用户而言,掌握一些常用网络命令 ...

  8. 最有用的Linux命令行使用技巧集锦

    最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...

  9. WEB/HTTP 调试利器 Fiddler 的一些技巧分享

    1.原理简介: Fiddler 是目前最强大最好用的 Web 调试工具之一,它能记录所有客户端和服务器的http和https请求, 允许你监视,设置 CGI 请求的断点,甚至修改输入输出数据.同类的工 ...

随机推荐

  1. uva 12627 - Erratic Expansion(递归求解)

    递归的边界条件写的多了--不是必需写呢么多的.. 不明确可共同探讨~ #include<cstdio> #include<iostream> #include<cmath ...

  2. spring异常 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet

    spring异常 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet   情况 ...

  3. UITextView被键盘遮挡的处理

    这个应该是一个通用的任务了吧,键盘弹出来的时候,UITextView(或者UITextField)会被遮挡. 解决的办法就不是很能通用了. 1. 如果有UIScrollView做父view的话只需要滚 ...

  4. MvcPager源代码—PagerOptions.cs

    public class PagerOptions    {        public PagerOptions()        {            AutoHide = true;     ...

  5. 下拉刷新Listview(8.30)

    Android-PullToRefresh 1项目托管地址: https://github.com/bavariama1/Android-PullToRefresh 2 快速开始教程:https:// ...

  6. Android开源--PullToRefresh

    开源地址: https://github.com/chrisbanes/Android-PullToRefresh 简单介绍:PullToRefresh是一款支持ListView,GridView,V ...

  7. 利用$(window).resize()实现窗口大小自适应宽度问题

    © 版权声明:本文为博主原创文章,转载请注明出处 问题描述:利用iframe做页面引入,用$(window).resize()作自适应:结果窗口变小时,利用$(window).width()获取到的宽 ...

  8. 软件project--谈项目开发

    前段时间一直忙自考.着急赶项目进度,如今最终有时间回想这段时间的学习,突然发现自己已有半个月没有沉淀. 今天早上醒来.灵感如泉水般涌出,挡都挡不住.所以早上一到机房,便迫不及待的想大家分享灵感,希望大 ...

  9. spark-submit 提交任务

    将工程打成jar 放入到linux中 切换到[root@node4 Desktop]# cd /usr/local/development/spark-2.0-hadoop2.6/bin/ 输入命令 ...

  10. Cannot open channel to 3 at election address :3888 java.net.ConnectException: Connection refused (Connection refused)

    关于Linux中搭建分布式时可能遇到的问题 这个问题来自于今天安装zookeeper时踩的一个大坑,害的我花了一天时间.在搭建zookeeper的分布式时,往往要进行这样的配置: server.1=h ...