当前位置: 首页 > news >正文

Cout输出应用举例

Cout输出应用

在main.cpp里输入程序如下:

#include <iostream>  //使能cin(),cout();

#include <stdlib.h>  //使能exit();

#include <sstream>

 

#include <iomanip>   //使能setbase(),setfill(),setw(),setprecision(),setiosflags()和resetiosflags();

//setbase( char x )是设置输出数字的基数,如输出进制数则用setbase(8);如输出进制数则用setbase(10);如输出进制数则用setbase(16);

//setbase( char x )的参数x只能是,10和,其它参数无效,setbase对其后的cout都有影响;

 

//当程序需要在屏幕上显示输出时,可以使用插入操作符“<<”向cout输出流中插入字符;

//例如: cout<<"I love C++\n";

//当程序需要执行键盘输入时,可以使用抽取操作符“>>”从cin输人流中抽取字符;

//例如: int myAge;   cin>>myAge;

//I/O流的常用控制符如下:

//dec  置基数为;

//hex  置基数为;

//oct  置基数为;

//left   左对齐

//right  右对齐

//setiosflags(ios::left)           左对齐,left位于ios文件中

//setiosflags(ios::right)          右对齐,right位于ios文件中

//setiosflags(ios::uppercase)      控制进制数大写输出

//resetiosflags(ios::uppercase)    控制进制数小写输出

 

//setfill(c)                       没填充字符为c,对其后的cout都有影响;

//setw(n)                          设置值的输出宽度为n个字符,仅仅影响下一个数值输出;

 

//setiosflags(ios::showpos)        强制显示正负号,对于浮点数和十进制数,正数将显示+;

 

//setiosflags(ios::fixed)          固定以小数方式显示

//setiosflags(ios::showpoint)      若只有整数部分,则强制显示小数点;

//setprecision(n)                  设置浮点数小数点后有n位小数;

 

//setiosflags(ios::scientific)     指数表示;

 

 

//注意:在使用setiosflags()之后,一定要使用resetiosflags(()恢复到默认设置;否则,会出现意想不到的错误;

//例如:在cout<<setiosflags(ios::fixed)被使用完后,要调用cout<<resetiosflags(ios::fixed)恢复到默认设置;

//注意:cout<<setiosflags(ios::lowercase);  //控制进制数小写输出,在Visual studio C++2005中,不支持该语句;

 

//在不使用#include<iomanip>时,cout.setf(ios::right); //设置为右对齐输出;

 

//浮点数默认显示位有效位;

using namespace std; //告诉编译器使用std标准程序库;

int main()

{

    cout<<"设置浮点数的有效位数\n";

    double float_value=220.0/7;

    cout<<setiosflags(ios::fixed);     //固定以小数方式显示

    cout<<setiosflags(ios::showpoint); //若只有整数部分,则强制显示小数点;

    cout<<"浮点数默认显示: "<<float_value<<endl;  //浮点数默认显示,小数点后面有位小数;

    cout<<"浮点数显示位小数: "<<setprecision(1)<<float_value<<endl;

    cout<<"浮点数不显示小数: "<<setprecision(0)<<float_value<<endl;

    cout<<"浮点数显示位小数: "<<setprecision(2)<<float_value<<endl;

    cout<<"浮点数显示位小数: "<<setprecision(3)<<float_value<<endl;

    cout<<"浮点数显示位小数"<<setprecision(8)<<float_value<<endl;

    cout<<resetiosflags(ios::fixed);     //不再固定以小数方式显示

    cout<<resetiosflags(ios::showpoint); //若只有整数部分,则强制显示小数点;

 

    cout<<"\n设置强制显示正负号\n";

    cout<<setiosflags(ios::showpos);   //强制显示正负号;

    cout<<setiosflags(ios::fixed);     //固定以小数方式显示

    cout<<setiosflags(ios::showpoint); //若只有整数部分,则强制显示小数点;

    cout<<"浮点数显示位小数"<<setprecision(8)<<float_value<<endl;

    cout<<resetiosflags(ios::fixed);     //不再固定以小数方式显示

    cout<<resetiosflags(ios::showpoint); //若只有整数部分,则强制显示小数点;

    cout<<resetiosflags(ios::showpos);  //不强制显示正负号;

    cout<<"设置不强制显示正负号\n\n";

 

    cout<<"浮点数用科学计数法表示: ";

    cout<<setiosflags(ios::scientific);

    cout<<float_value<<endl;

    cout<<resetiosflags(ios::scientific);     //不再用科学计数法表示;

 

    cout<<"\n设置用小数方式显示\n";

    double f1,f2,f3;

    f1=1;

    f2=12;

    f3=101.1234;

    cout<<setiosflags(ios::fixed);     //固定以小数方式显示

    cout<<setiosflags(ios::showpoint); //若只有整数部分,则强制显示小数点;

    cout<<setprecision(8);             //浮点数只有位有效值

    cout<<"f1= "<<f1<<endl;

    cout<<"f2= "<<f2<<endl;

    cout<<"f3= "<<f3<<endl;

    cout<<setprecision(1);             //浮点数只有位有效值

    cout<<"f3= "<<f3<<endl;

    cout<<resetiosflags(ios::fixed);     //不再固定以小数方式显示

    cout<<resetiosflags(ios::showpoint); //若只有整数部分,则强制显示小数点;

 

    cout<<"\n测试左右输出对齐\n";

    int i;

    //cout.setf(ios::right); //设置为右对齐输出;

    cout<<setiosflags(ios::right);  //设置为右对齐输出;

    //cout<<right;  //设置为左对齐输出;

    for(i=8;i<13;i++)

    {

       cout<<setw(5);        //设域宽为个字符;

        cout<<setfill('*');   //填充字符为*;

       cout<<i;

       if(i==12) cout<<endl;

    }

    cout<<resetiosflags(ios::right);  //恢复默认设置;

 

       //cout.setf(ios::left); //设置为左对齐输出;

    cout<<setiosflags(ios::left);  //设置为左对齐输出;

    //cout<<left;  //设置为左对齐输出;

    for(i=8;i<13;i++)

    {

       cout<<setw(5);

        cout<<setfill('*');

       cout<<i;

       if(i==12) cout<<endl;

    }

    cout<<setiosflags(ios::left);  //恢复默认设置,设置为左对齐输出;

    cout<<setw(0); //恢复默认设置

 

    cout<<"\n按照进制数显示:\n";

    for(i=8;i<13;i++)

    {  

       cout<<dec;   //设置为进制输出;

       cout<<"  "<<i;

    }

    cout<<"\n按照进制数显示:\n";

    for(i=8;i<13;i++)

    {

       cout<<hex;   //设置为进制输出;

       cout<<"  "<<i;

    }

    cout<<"\n按照进制数显示:\n";

    for(i=8;i<13;i++)

    {

       cout<<oct; //设置为进制输出;

       cout<<"  "<<i;

    }

 

    cout<<"\n控制进制数小写输出:\n";

    //cout<<setiosflags(ios::lowercase);  //在Visual studio C++2005中,不支持该语句;

    cout<<resetiosflags(ios::uppercase);  //恢复默认设置,16进制小写字母输出;

    for(i=8;i<13;i++)

    {

       cout<<hex<<"  "<<i;

    }

    cout<<"\n控制进制数大写输出:\n";

    cout<<setiosflags(ios::uppercase);  //控制进制数大写输出

    for(i=8;i<13;i++)

    {

       cout<<hex<<"  "<<i;

    }

    cout<<resetiosflags(ios::uppercase);  //恢复默认设置,16进制小写字母输出;

 

    cout<<"\nskipws忽略空白输出:\n";

    istringstream cstr(" 1 2 3 4 5 6 7 8 9");

    char a;

    cstr>>skipws;  //跳过空格输入;

    for(i=0;i<9;i++)

    { cstr>>a;

      cout << a;

      if(a=='9') cout << endl;

    }

    system("pause");  //程序暂停,按任意键继续执行;

    cout<<"\nskipws不忽略空白输出:\n";

    cstr.seekg(0);           //seekg设置获取指针的位置为起始位置;

    cstr>>noskipws;  //不跳过空格输入;

    for(i=0;i<18;i++)

    { cstr>>a;

      cout << a;

      if(a=='9') cout << endl;

    }

    return(0); //退出函数;

}

 

 

//参考:http://www.cplusplus.com/reference/iostream/istringstream/

相关文章:

Cout输出应用举例

Cout输出应用 在main.cpp里输入程序如下&#xff1a; #include <iostream> //使能cin(),cout(); #include <stdlib.h> //使能exit(); #include <sstream> #include <iomanip> //使能setbase(),setfill(),setw(),setprecision(),setiosflags()和res…...

java的无锁编程和锁机制

Java 的并发编程中&#xff0c;为了保证线程安全和高性能&#xff0c;采用了两种主要的同步手段&#xff1a;锁机制和无锁编程。以下是对锁机制、无锁编程、死锁及其避免的详细讲解。 一、无锁编程 无锁编程通过原子操作来避免传统锁&#xff0c;从而减少线程的上下文切换&am…...

vue实现富文本编辑器上传(粘贴)图片 + 文字

vue实现富文本编辑器上传&#xff08;粘贴&#xff09;图片 文字 1.安装插件 npm install vue-quill-editor -s2.在使用vue-quill-editor富文本的时候&#xff0c;对于图片的处理经常是将图片转换成base64&#xff0c;再上传数据库&#xff0c;但是base64不好存储。 原理&a…...

子集和全排列(深度优先遍历)问题

欢迎访问杀马特主页&#xff1a;小小杀马特主页呀&#xff01; 目录 前言&#xff1a; 例题一全排列&#xff1a; 1.题目介绍&#xff1a; 2.思路汇总&#xff1a; 3.代码解答&#xff1a; 例题二子集&#xff1a; 题目叙述&#xff1a; 解法一&#xff1a; 1.思路汇总…...

判断检测框是否在感兴趣区域(ROI)内

判断检测框是否在感兴趣区域&#xff08;ROI&#xff09;内 在计算机视觉和图像处理中&#xff0c;我们经常需要确定一个矩形检测框是否位于一个特定的感兴趣区域&#xff08;Region of Interest, ROI&#xff09;内。这个ROI可以是一个多边形&#xff0c;而检测框则是一个矩形…...

正点原子阿尔法ARM开发板-IMX6ULL(九)——关于SecureCRT连接板子上的ubuntu

文章目录 一、拨码器二、SecureCRT 一、拨码器 emmm,也是好久没学IMX6ULL了&#xff0c;也是忘了拨码器决定了主板的启动方式 一种是直接从TF卡中读取文件&#xff08;注意这里是通过imdownload软件编译好了之后&#xff0c;通过指令放入TF卡&#xff09; 一种是现在这种用串口…...

微信支付Java+uniapp微信小程序

JS&#xff1a; request.post(/vip/pay, {//这是自己写的java支付接口id: this.vipInfo.id,payWay: wechat-mini}).then((res) > {let success (res2) > {//前端的支付成功回调函数this.$refs.popup.close();// 支付成功刷新当前页面setTimeout(() > {this.doGetVipI…...

【NOIP提高组】加分二叉树

【NOIP提高组】加分二叉树 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 设一个n个节点的二叉树tree的中序遍历为&#xff08;l,2,3,…,n&#xff09;&#xff0c;其中数字1,2,3,…,n为节点编号。每个节点都有一个分数&#xff08;均为正整…...

HarmonyOS 相对布局(RelativeContainer)

1. HarmonyOS 相对布局&#xff08;RelativeContainer&#xff09; 文档中心:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-layout-development-relative-layout-V5   RelativeContainer为采用相对布局的容器&#xff0c;支持容器内部的子元素设…...

webpack5搭建react脚手架详细步骤

1. 初始化项目 首先&#xff0c;创建一个新目录并初始化项目&#xff1a; bash mkdir create-react cd create-react pnpm init --y git init 这里使用pnpm作为包管理工具&#xff0c;因为它在处理依赖和速度上表现更好。 2. 安装React和TypeScript 安装React和React-DOM…...

速盾:高防cdn怎么拦截恶意ip?

高防CDN&#xff08;Content Delivery Network&#xff09;是一种用于防御网络攻击和提供高可用性的服务。它通过分发网络流量&#xff0c;将用户的请求导向最近的服务器&#xff0c;从而提高网站的加载速度和稳定性。然而&#xff0c;不可避免地&#xff0c;有些恶意IP地址会试…...

太阳能面板分割系统:训练自动化

太阳能面板分割系统源码&#xff06;数据集分享 [yolov8-seg-EfficientHead&#xff06;yolov8-seg-vanillanet等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Globa…...

C++笔记---位图

1. 位图的概念 位图&#xff08;Bitmap&#xff09;是一种基于位操作的数据结构&#xff0c;用于表示一组元素的集合信息。它通常是一个仅包含0和1的数组&#xff0c;每个元素对应一个二进制位&#xff0c;若该元素存在&#xff0c;则对应的位为1&#xff1b;若不存在&#xff…...

ABC370

## A - Raise Both Hands &#xff08;模拟&#xff09; 题意&#xff1a;输入l&#xff0c;r&#xff0c;如果l1r0输出yes&#xff0c;l0r1输出no&#xff0c;否则输出Invalid 代码&#xff1a; #include<bits/stdc.h> using namespace std; typedef long long ll; vo…...

C语言[求x的y次方]

C语言——求x的y次方 这段 C 代码的目的是从用户输入获取两个整数 x 和 y &#xff0c;然后计算 x 的 y 次幂&#xff08;不过这里有个小错误&#xff0c;实际计算的是 x 的 (y - 1) 次幂&#xff0c;后面会详细说&#xff09;&#xff0c;最后输出结果。 代码如下: #include…...

JavaScript part2

一.前言 前面我们讲了一下js的基础语法&#xff0c;但是这些还是远远不够的&#xff0c;我们要想操作标签&#xff0c;实现一个动态且好看的页面&#xff0c;就得学会BOM和DOM&#xff0c;这些都是浏览器和页面的&#xff0c;这样我们才能实现一个好看的页面 二.BOM对象 BOM…...

HarmonyOS开发 - 本地持久化之实现LocalStorage实例

用户首选项为应用提供Key-Value键值型的数据处理能力&#xff0c;支持应用持久化轻量级数据&#xff0c;并对其修改和查询。数据存储形式为键值对&#xff0c;键的类型为字符串型&#xff0c;值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。 说明&#x…...

【C++打怪之路Lv12】-- 模板进阶

#1024程序员节&#xff5c;征文# &#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;重生之我在学Linux&#xff0c;C打怪之路&#xff0c;python从入门到精通&#xff0c;数据结构&#xff0c;C语言&#xff0c;C语言题集&#x1f448; 希望得到您…...

第23周Java主流框架入门-SpringMVC 2.RESTful开发风格

课程笔记&#xff1a;RESTful 开发风格 课程介绍 本节课程介绍 RESTful 开发风格&#xff0c;以及如何在 Spring MVC 中应用这种开发模式。传统 MVC 开发通过 Servlet、JSP 和 Java Bean 实现前后端交互&#xff0c;而 RESTful 开发提供了一种新的理念&#xff0c;更适合现代…...

QT枚举类型转字符串和使用QDebug<<重载输出私有枚举类型

一 将QT自带的枚举类型转换为QString 需要的头文件&#xff1a; #include <QMetaObject> #include <QMetaEnum> 测试代码 const QMetaObject *metaObject &QImage::staticMetaObject;QMetaEnum metaEnum metaObject->enumerator(metaObject->indexOf…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权

摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题&#xff1a;安全。文章将详细阐述认证&#xff08;Authentication) 与授权&#xff08;Authorization的核心概念&#xff0c;对比传统 Session-Cookie 与现代 JWT&#xff08;JS…...

土建施工员考试:建筑施工技术重点知识有哪些?

《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目&#xff0c;核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容&#xff0c;附学习方向和应试技巧&#xff1a; 一、施工组织与进度管理 核心目标&#xff1a; 规…...

英国云服务器上安装宝塔面板(BT Panel)

在英国云服务器上安装宝塔面板&#xff08;BT Panel&#xff09; 是完全可行的&#xff0c;尤其适合需要远程管理Linux服务器、快速部署网站、数据库、FTP、SSL证书等服务的用户。宝塔面板以其可视化操作界面和强大的功能广受国内用户欢迎&#xff0c;虽然官方主要面向中国大陆…...

【R语言编程——数据调用】

这里写自定义目录标题 可用库及数据集外部数据导入方法查看数据集信息 在R语言中&#xff0c;有多个库支持调用内置数据集或外部数据&#xff0c;包括studentdata等教学或示例数据集。以下是常见的库和方法&#xff1a; 可用库及数据集 openintro库 该库包含多个教学数据集&a…...

codeforces C. Cool Partition

目录 题目简述&#xff1a; 思路&#xff1a; 总代码&#xff1a; https://codeforces.com/contest/2117/problem/C 题目简述&#xff1a; 给定一个整数数组&#xff0c;现要求你对数组进行分割&#xff0c;但需满足条件&#xff1a;前一个子数组中的值必须在后一个子数组中…...

STM32CubeMX-H7-19-ESP8266通信(中)--单片机控制ESP8266实现TCP地址通信

前言 上篇文章我们已经能够使用串口助手实现esp8266的几种通信&#xff0c;接下来我们使用单片机控制实现。这篇文章会附带教程&#xff0c;增加.c和,.h&#xff0c;把串口和定时器放到对应的编号&#xff0c;然后调用初始化就可以使用了。 先讲解&#xff0c;然后末尾再放源码…...