PAT基础编程题目-7-5 表格输出

PAT基础编程题目-7-5 表格输出

题目详情

在这里插入图片描述

题目地址:https://pintia.cn/problem-sets/14/problems/785

解答

C语言版(1)

#include<stdio.h>
int main() {
	printf("------------------------------------\n");
	printf("Province      Area(km2)   Pop.(10K)\n");
	printf("------------------------------------\n");
	printf("Anhui         139600.00   6461.00\n");
	printf("Beijing        16410.54   1180.70\n");
	printf("Chongqing      82400.00   3144.23\n");
	printf("Shanghai        6340.50   1360.26\n");
	printf("Zhejiang      101800.00   4894.00\n");
	printf("------------------------------------\n");
	return 0;
}

在这里插入图片描述
这么写代码就没意思了,虽然能通过,但是咋们换一种写法

C语言版(2)

#include<stdio.h>
int main() {
	printf("------------------------------------\n");
	printf("Province      Area(km2)   Pop.(10K)\n");
	printf("------------------------------------\n");
	char province[5][10] = { "Anhui", "Beijing", "Chongqing", "Shanghai", "Zhejiang" };
	float area[5] = { 139600.00, 16410.54, 82400.00, 6340.50, 101800.00 };
	float pop[5] = { 6461.00 ,1180.70 ,3144.23 ,1360.26 ,4894.00 };
	for (int i = 0; i < 5; i++)
		printf("%-11s %11.2f %9.2f\n", province[i], area[i], pop[i]);  // -表示左对齐,11表示宽度,默认是右对齐
	printf("------------------------------------\n");
	return 0;
}

在这里插入图片描述

C++版(1)

#include<iostream>
int main() {
	std::cout << "------------------------------------\n";
	std::cout << "Province      Area(km2)   Pop.(10K)\n";
	std::cout << "------------------------------------\n";
	std::cout << "Anhui         139600.00   6461.00\n";
	std::cout << "Beijing        16410.54   1180.70\n";
	std::cout << "Chongqing      82400.00   3144.23\n";
	std::cout << "Shanghai        6340.50   1360.26\n";
	std::cout << "Zhejiang      101800.00   4894.00\n";
	std::cout << "------------------------------------\n";
	return 0;
}

在这里插入图片描述
这么写代码就没意思了,虽然能通过,但是咋们换一种写法

C++版(2)

C++中控制对齐是比较麻烦的一件事。

#include<iostream>
#include<iomanip>
using namespace std;
int main() {
	cout << "------------------------------------" << endl;
	cout << "Province      Area(km2)   Pop.(10K)" << endl;
	cout << "------------------------------------" << endl;
	char province[5][10] = { "Anhui", "Beijing", "Chongqing", "Shanghai", "Zhejiang" };
	float area[5] = { 139600.00, 16410.54, 82400.00, 6340.50, 101800.00 };
	float pop[5] = { 6461.00 ,1180.70 ,3144.23 ,1360.26 ,4894.00 };
	for (int i = 0; i < 5; i++) {
		cout << setw(12) << setiosflags(ios::left) << province[i];
		cout << setw(11) << setiosflags(ios::right) << fixed << setprecision(2) << area[i];
		cout << setw(10) << setiosflags(ios::right) << fixed << setprecision(2) << pop[i];
		cout << resetiosflags(ios::right);
		cout << endl;
	}
	cout << "------------------------------------" << endl;
	return 0;
}

在这里插入图片描述

Java版(1)

public class Main{

	public static void main(String[] args) {
		System.out.println("------------------------------------");
		System.out.println("Province      Area(km2)   Pop.(10K)");
		System.out.println("------------------------------------");
		System.out.println("Anhui         139600.00   6461.00");
		System.out.println("Beijing        16410.54   1180.70");
		System.out.println("Chongqing      82400.00   3144.23");
		System.out.println("Shanghai        6340.50   1360.26");
		System.out.println("Zhejiang      101800.00   4894.00");
		System.out.println("------------------------------------");
	}

}

在这里插入图片描述

Java版(2)

注意,java中支持C语言风格的输出。

public class Main{

	public static void main(String[] args) {
		System.out.println("------------------------------------");
		System.out.println("Province      Area(km2)   Pop.(10K)");
		System.out.println("------------------------------------");
		
		String [] province = {"Anhui", "Beijing", "Chongqing", "Shanghai", "Zhejiang"};
		float [] area = {139600.00f, 16410.54f, 82400.00f, 6340.50f, 101800.00f};
		float [] pop = {6461.00f ,1180.70f ,3144.23f ,1360.26f ,4894.00f};	
		for (int i = 0; i < 5; i++) 
			System.out.printf("%-11s %11.2f %9.2f\n", province[i], area[i], pop[i]);  // 支持c语言风格的输出
		System.out.println("------------------------------------");
	}

}

在这里插入图片描述

创作不易,喜欢的话加个关注点个赞,谢谢谢谢谢谢!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章