2021第四届[传智杯]练习赛String.format方法题应用(C语言网题库1806,1807,1808,1809,1810)

注:所有答案可在 在线编程,代码在线运行,在线写代码工具 (dotcpp.com) 在线编译,带数据输入输出。

题目 1806: [编程基础]输入输出练习之第二个数字

题目描述

练习输入输出,这里会输入三个整数,要求只输出第二个数字来!

输入格式

一行三个整数,空格分开

输出格式

输出第二个数字

样例输入

1
10 20 30

样例输出

1
20

解题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
int a,b,c = 0; //注意在循环外初始化变量
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) { //检测是否有输入
a = scanner.nextInt();
b = scanner.nextInt();
c = scanner.nextInt();
System.out.println(b);
}
scanner.close();
}
}

题目 1807: [编程基础]输入输出练习之格式控制

题目描述

依旧是输入三个整数,要求按照占8个字符的宽度,并且靠左对齐输出

输入格式

一行三个整数,空格分开

输出格式

输出它们按格式输出的效果,占一行

样例输入

1
123456789 -1 10

样例输出

1
123456789-1      10      

解题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
int a,b,c = 0;
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
a = scanner.nextInt();
b = scanner.nextInt();
c = scanner.nextInt();
System.out.println(String.format("%-8d%-8d%-8d",a,b,c));
//负号即左对齐,正号是右对齐,8即8个字符
}
scanner.close();
}
}

题目 1808: [编程基础]输入输出练习之精度控制1

题目描述

输入一个单精度浮点数,输出保留三位小数输出

输入格式

一个单精度浮点数

输出格式

对应的三位小数的数字

样例输入

1
3.14159

样例输出

1
3.142

解题

1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
float a = 0;
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
a = scanner.nextFloat();
System.out.println(String.format("%.3f",a)); //.3f即保留三位小数(单精度浮点)
}
scanner.close();
}
}

题目 1809: [编程基础]输入输出练习之精度控制2

题目描述

输入一个双精度浮点数,保留12位小数输出

输入格式

一个双精度小数

输出格式

保留12位的数字

样例输入

1
3.1415926535897932

样例输出

1
3.141592653590

解题

1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
double a = 0;
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
a = scanner.nextDouble();
System.out.println(String.format("%.12f",a));
}
scanner.close();
}
}

题目 1810: [编程基础]输入输出练习之精度控制3

题目描述

输入一个字符,一个数字,一个单精度浮点数,一个双精度浮点数,按顺序输出它们四个

且数字指定占4个字符宽靠右对齐,单精度浮点数保留2位小数,双精度保留12位小数,占一行输出、空格分隔

输入格式

一个字符、一个数字、一个单精度小数、一个双精度小数,空格分隔,占一行

输出格式

按要求输出的四个数据

样例输入

1
C 99 12.1323 3.14159265358979

样例输出

1
C   99 12.13 3.141592653590

解题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
char a;
int b = 0;
float c = 0;
double d = 0;
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
a = scanner.next().charAt(0); //抓取第一个空格前的字符串的第一个字符
b = scanner.nextInt();
c = scanner.nextFloat();
d = scanner.nextDouble();
System.out.println(String.format("%c %4d %.2f %.12f",a,b,c,d));
//每个百分号用空格符或逗号分隔才能分别生效
}
scanner.close();
}
}