算法提高 输入输出格式练习
描述
按格式格式读入一个3位的整数、一个实数、一个字符 。
并按格式输出 一个整数占8位左对齐、一个实数占8位右对齐、一个字符 ,并用|隔开。
输入
输入描述:
见题面
输入样例:
123456.789|a
输出
输出描述:
见题面
输出样例:
123 | 456.8|a
输入样例 1
参考上文
输出样例 1
参考上文
提示
HINT:时间限制:1.0s 内存限制:256.0MB
来源
蓝桥杯练习系统 ID: 328 原题链接: http://lx.lanqiao.cn/problem.page?gpid=T328
这题我错了好几遍,不是我想的那么简单的输入输出,一定要注意它的输入是整数、实数、字符一起输入的,没有空格,所以单纯的用整数输入是错误的,它说了三位数,所以可以用三个字符模拟数字,就可以实现整数和实数一起输入了。
一开始的错误代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
double m;
char c,ch;
scanf("%d%lf%c%c",&n,&m,&ch,&c);
printf("%-8d|%8.1lf|%c",n,m,c);
return 0;
}
正确代码
#include <cstdio>
int main()
{
char a, b, c, d, ch;
double n;
scanf("%c%c%c%lf%c%c",&a,&b,&c,&n,&d,&ch);
printf("%-8d|%8.1lf|%c",(a-'0')*100+(b-'0')*10+(c-'0'),n,ch);
return 0;
}