题目链接
题目描述
无论输入了什么,您都应输出所输入的内容,输出之间以换行隔开。
输入描述: 输入包含 5 行:
- 第一行为一个整数
a
。 - 第二行为一个长整数
b
。 - 第三行为一个浮点数
c
。 - 第四行为一个小写字母
d
。 - 第五行为一个字符串
s
(不含空格或换行符)。
输出描述:
输出 5 行,且每行都与对应行输入内容完全相同。特别的,对于浮点数 c
,你需要 保留一位小数 后输出。
解题思路
这是一个综合性的基础输入输出练习题,它将之前学习的整数、长整数、浮点数、字符和字符串的I/O操作结合在了一起。
解题的关键在于:
- 按顺序为每种数据类型声明合适的变量(
int
,long long
,double
,char
,string
等)。 - 依次从标准输入读取这五个不同类型的数据。
- 按顺序将它们输出到标准输出。
- 特别注意对浮点数的输出需要进行格式化,精确到小数点后一位。
代码
#include <iostream>
#include <string>
#include <iomanip> // 需要此头文件来格式化输出
using namespace std;
int main() {
int a;
long long b;
double c;
char d;
string s;
cin >> a >> b >> c >> d >> s;
cout << a << endl;
cout << b << endl;
cout << fixed << setprecision(1) << c << endl; // 格式化浮点数
cout << d << endl;
cout << s << endl;
return 0;
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
long b = sc.nextLong();
double c = sc.nextDouble();
String d = sc.next(); // 读取字符
String s = sc.next();
System.out.println(a);
System.out.println(b);
System.out.printf("%.1f%n", c); // 格式化浮点数
System.out.println(d);
System.out.println(s);
}
}
# 依次读取五行输入
a = int(input())
b = int(input()) # Python 的 int 类型可以处理长整数
c = float(input())
d = input()
s = input()
# 依次输出
print(a)
print(b)
print(f"{c:.1f}") # 格式化浮点数
print(d)
print(s)
算法及复杂度
- 算法:顺序执行基础输入与输出操作。
- 时间复杂度:
- 主要由读取和输出字符串的长度
L
决定,其他操作为常数时间。 - 空间复杂度:
- 主要用于存储输入的字符串。