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("------------------------------------");
	}

}

在這裏插入圖片描述

創作不易,喜歡的話加個關注點個贊,謝謝謝謝謝謝!

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