hdu 6297(常用的输出格式总结)
题目链接:https://cn.vjudge.net/problem/HDU-6297
题目介绍:一道关于输出格式规范问题
wrong answer代码:
#include<iostream>
#include<cstdio>
#include<string.h>
#include<string>
using namespace std;
int main()
{
int T;
cin>>T;
int rank;
string str;
int prob;
string Tstr;
while(T--)
{
int n=;
cin>>rank>>str>>prob>>Tstr;
if(Tstr[]=='R')
cin>>n;
printf("%3d|",rank);
int mylen=str.length();
cout<<str;
for(int i=mylen;i<=;i++)
cout<<" ";
printf("|%d|[",prob);
if(Tstr[]=='R')
{
for(int i=;i<=n;i++)
cout<<"X";
for(int i=n;i<=;i++)
cout<<" ";
cout<<"]"<<endl;
}
else
{
int length=Tstr.length();
for(int i=;i<=;i++)
cout<<" ";
if(Tstr[]=='F'&&Tstr[]=='B')
{
length=;
cout<<"AC*";
}
else
cout<<Tstr;
for(int i=length+;i<=;i++)
cout<<" ";
cout<<"]"<<endl; }
}
return ;
}
错误点:
1.识别Tstr字符串是否为“Running"时,只以首字母标记(Tstr[0]=='R'),导致识别资料不足,可以识别“RTE"与”Running",识别混乱,所以改成(Tstr==”Running")
2.与输出样式相比,末尾多输出了一个空格
ac代码:
#include<iostream>
#include<cstdio>
#include<string.h>
#include<string>
using namespace std;
int main()
{
int T;
cin>>T;
int rank;
string str;
int prob;
string Tstr;
while(T--)
{
int n=;
cin>>rank>>str>>prob>>Tstr;
if(Tstr=="Running")
cin>>n;
printf("%3d|",rank);
int mylen=str.length();
cout<<str;
for(int i=mylen;i<=;i++)
cout<<" ";
printf("|%d|[",prob);
if(Tstr=="Running")
{
for(int i=;i<=n;i++)
cout<<"X";
for(int i=n;i<;i++)
cout<<" ";
cout<<"]"<<endl;
}
else
{
int length=Tstr.length();
for(int i=;i<=;i++)
cout<<" ";
if(Tstr[]=='F'&&Tstr[]=='B')
{
length=;
cout<<"AC*";
}
else
cout<<Tstr;
for(int i=length+;i<;i++)
cout<<" ";
cout<<"]"<<endl;
}
}
return ;
}
接下来,我们来学习一下常用的输出格式:
头文件:#include<iomanip>
以下是一些常用的: dec 置基数为10 相当于"%d"
hex 置基数为16 相当于"%X"
oct 置基数为8 相当于"%o"
setfill(c) 设填充字符为c
setprecision(n) 设显示小数精度为n位
setw(n) 设域宽为n个字符
setioflags(ios::fixed) 固定的浮点显示
setioflags(ios::scientific) 指数表示
setiosflags(ios::left) 左对齐
setiosflags(ios::right) 右对齐
setiosflags(ios::skipws 忽略前导空白
setiosflags(ios::uppercase) 16进制数大写输出
setiosflags(ios::lowercase) 16进制小写输出
setiosflags(ios::showpoint) 强制显示小数点
setiosflags(ios::showpos) 强制显示符号
代码举例:
19|qqqqq_University|1001|[XXX ]
125|quailty_U_2 |1002|[ WA ]
4|quailty_U_3 |1003|[ TLE ]
比如上面的那道题,需要用到输出时每个数据是 右对齐3 左对齐16 4 10
像第一个数据需要右对齐:cout<<right<<setw(3)<<Rank<<"|";
第二个数据需要左对齐:cout<<left<<setw(16)<<name<<"|";
第三个数据左对齐:cout<<left<<setw(4)<<pro<<"|[";
第四个需要分类:
针对下面两个的类型:输出字符串,但字符串是居中的(我们可以这样处理:先输出四个空字符,然后对字符串进行左对齐:cout<<" "<<setw(6)<<status<<"]"<<endl;
hdu 6297(常用的输出格式总结)的更多相关文章
- Hadoop MapReduce常用输入输出格式
这里介绍MapReduce常用的几种输入输出格式. 三种常用的输入格式:TextInputFormat , SequenceFileInputFormat , KeyValueInputFormat ...
- Hadoop学习之常用输入输出格式总结
目的 总结一下常用的输入输出格式. 输入格式 Hadoop可以处理很多不同种类的输入格式,从一般的文本文件到数据库. 开局一张UML类图,涵盖常用InputFormat类的继承关系与各自的重要方法(已 ...
- geoserver 数据图层输出格式
1.WMS服务请求参数 一般WMS的请求地址如下: http://localhost:8080/geoserver/topp/wms?service=WMS&versi on=1.1.0&am ...
- Log4net快速索引参考
官方项目地址:The Apache log4net project 本文内容仅为相关项参考,不进行具体使用讨论 另转载请注明出处 Log4net快速索引参考 Log4net主要有以下三个部件: log ...
- java 日期格式化
DateFormat DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间. SimpleDateFormat SimpleDateFormat 是一个以与 ...
- 细说log4j之log4j 1.x
官网:http://logging.apache.org/log4j/1.2/manual.html 三大组件:loggers,appenders,layouts. LoggersLogger是一个层 ...
- Verilog中的$display和$write任务
$display(p1,p2, …,pn); $write(p1,p2, …,pn); 这两个函数和系统任务的作用都是用来输出信息,即将参数p2到pn按参数p1给定的格式输出.参数p1通常称为:“格式 ...
- Verilog的一些系统任务(一)
$display.$write;$fopen.$fdisplay.$fclose;$strobe $display和$write任务 格式: $display(p1,p2,...pn); $w ...
- Log4j日志框架小记
人啊,总是在学习中发现不足,不足中学习,学习中成长. 今天来系统记录一下对于常用日志组件的理解.配置.使用. 仅供参考, 错误之处请各路好汉不吝笔墨批评指正. 转载请注明出处 Log4j日志框架是Ap ...
随机推荐
- 使用ServerSocket建立聊天服务器(一)
-------------siwuxie095 工程名:TestMyServerSocket 包名:com.siwuxie095.socket ...
- 为什么一些公司把dwg文件转化为pdf
是因为dwg文件中可能会涉及到字体问题 这台电脑打开dwg没问题,另一台电脑可能没有相应的字体用autocad打开就会出现乱码,所以先转化为pdf,而pdf有固定格式的作用,能够保证一台电脑打开是什么 ...
- Python沙盒环境配置
一.简介 本文介绍配置python沙盒环境的方法步骤. 二.安装步骤 1.安装pyenv http://www.cnblogs.com/274914765qq/p/4948530.html 2.安装v ...
- java的类型转换问题。int a = 123456;short b = (short)a;System.out.println(b);为什么结果是-7616?
这个从二进制来解释: int 是 32 位,也就是最多能表示长度为 32 位的二进制整数.第一位是符号位,表示正负,0 表示正的,1 表示负的.当首位为 1(为负)时,把所有的位取反(0 变成 1,1 ...
- Java中常见设计模式面试
一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接 ...
- Bulma 源码结构
源码基于 Bulma 0.4.0 版本. 一.入口文件 bulma.sass bulma.sass 是 Bulma 使用 SASS 编译的入口文件. sass bulma.sass css/bulma ...
- 从一个xaml文件获取xaml内容,遍历寻找对象
- 在Repeater控件的OnItemDataBound获取数据源记录总数
Insus.NEt曾经有写过一篇<Repeater控件最后一笔记录高亮显示> ,它的实现是先宣告一个页面级的变量,然后在Data_Binding()方法内获取数据源的记录总数. 本篇是的重 ...
- ubuntu - 14.04,解决Gnome桌面右键菜单失效问题!
我安装完ubuntu14.04,首先安装经典版的Gnome,刚安装完经典版的Gnome,在桌面点击鼠标右键会弹出菜单,使用非常方便,但是当我安装了最新版的Gnome15.10之后,我发现再进入经典版的 ...
- Java框架之单元测试
单元测试dao层 @Test //1.要写 test public void TestUserDao(){ ApplicationContext ctx=new ClassPathXmlAppli ...