PAT基礎編程題目-7-14 求整數段和
題目詳情
解答
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);;
}
}
創作不易,喜歡的話加個關注點個贊,謝謝謝謝謝謝!