PAT基礎編程題目-7-14 求整數段和

PAT基礎編程題目-7-14 求整數段和

題目詳情

在這裏插入圖片描述

題目地址:https://pintia.cn/problem-sets/14/problems/794

解答

C語言版

#include<stdio.h>
int main() {
	int a, b, sum = 0, count=1;
	scanf("%d %d", &a, &b);
	for (int i = a; i <= b; i++, count++)
	{
		printf("%5d", i);
		if (count % 5 == 0)
			printf("\n");
		sum = sum + i;
	}
	if((count-1)%5==0)  // 避免多換行一次
		printf("Sum = %d", sum);
	else 
	    printf("\nSum = %d", sum);
	return 0;
}

在這裏插入圖片描述

C++版

#include<iostream>
#include<iomanip>
using namespace std;
int main() {
	int a, b, sum = 0, count = 1;
	cin >> a >> b;
	for (int i = a; i <= b; i++, count++)
	{
		cout << setw(5) << i;  //設置寬度setw
		if (count % 5 == 0)
			cout << endl;
		sum = sum + i;
	}
	if ((count - 1) % 5 == 0)  // 避免多換行一次
		cout << "Sum = " << sum;
	else
		cout << endl << "Sum = " << sum;
	return 0;
}

在這裏插入圖片描述

Java版

import java.util.Scanner;
public class Main{

	public static void main(String[] args) {
		int a = 0, b = 0, sum = 0, count = 1;
		Scanner scanner = new Scanner(System.in);
		if (scanner.hasNext()) {
			a = scanner.nextInt();
			b = scanner.nextInt();
		}
		scanner.close();
		for (int i = a; i <= b; i++, count++)
		{
			/**
			 * String.format():
			 * 可對整數進行格式化:%[index$][標識][最小寬度]轉換方式
			 * %[index$]:以%index$開頭,index從1開始取值,表示將第index個參數拿進來進行格式化
			 * [標識]:' ' 正值前加空格,負值前加負號
			 * [最小寬度]:最終該整數轉化的字符串最少包含多少位數字
			 * 轉換方式:d-十進制 o-八進制 x或X-十六進制
			 */
			System.out.print(String.format("%1$ 5d", i));  
			if (count % 5 == 0)
				System.out.println();
			sum = sum + i;
		}
		if ((count - 1) % 5 == 0)  // 避免多換行一次
			System.out.print("Sum = "+sum);
		else
			System.out.print("\nSum = "+sum);;

	}

}

在這裏插入圖片描述

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

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