PAT-1001 A + Bフォーマットソリューション(C / C ++ / Javaの/パイソン)

1.Description:

計算  +のBと出力標準フォーマットの和- (以下4桁以上ある場合を除き)桁がコンマによる三のグループに分離されなければなりません。

ノート:

  • 各入力ファイルには、1つのテストケースが含まれています。各ケースは、整数のペアが含ま  と  - 。数値は、スペースで区切られます。

  •  

    各テストケースの場合、出力の合計はずです  し、  1行のa、bを。合計は、標準形式で記述する必要があります

2.Example:

入力:
 -100000 9 
出力:
 -999991

3.Solutions:

Cバージョン:

// 
// 2020年2月23日にSheepCoreによって作成されます。
//
 
の#include <stdio.hに> 
する#include < 文字列・H> int型のmain(){
     int型A、B。
    文字列str [ 10 ]。
    scanf関数(" %D%D "、&​​、&B)。
    sprintfの(STR、" %のD "、+のB)。
    INT LEN = STRLEN(STR)。
    以下のためにINT iが= 0 ; I <LEN; ++ i)が{ 
        のprintf(" %のC "


、STR [I])。
        もし(STR [I] == ' - ' 続けますもし((I + 1)%3 == LEN%3 && I = LEN! - 1 
            のprintf(" " ); 
    } 
} 

結果:

 

C ++のバージョン:

書式#include <iostreamの>
 使用して 名前空間はstdを、

INT のmain(){
     int型A、B。

    CIN >> B;
    ストリング(+のTO_STRING S = B)。
    INT LEN = s.length()。
    以下のためにINT iが= 0 ; I <LEN; ++ I){ 
        COUT << S [i]は、
        もし(S [i]を== ' - ' 続けますもし((I + 1)%3 == LEN%3!&& I = LEN -1 
            COUT << " " 
    } 
}

結果:

 

Javaのバージョン:

package pat_online_test;

import java.util.Scanner;

/**
 * @author sheepcore
 */
public class P1001_add_format {
    public static void main(String[] args) {
        int a, b, sum;
        String s;
        Scanner scanner = new Scanner(System.in);

        a = scanner.nextInt();
        b = scanner.nextInt();
        sum = a + b;
        boolean sign = sum >= 0;
        s = sum + "";
        int len = s.length();

        for (int i = 0; i < len; i++) {
            System.out.print(s.charAt(i));
            if(s.charAt(i) == '-'){
                continue;
            }
            if((i+1) % 3 == len % 3 && i != len -1){
                System.out.print(',');
            }
        }
    }
}

Result:

 

 Python Version:

"""
 A+B Format
 Created by SheepCore at 2020-3-24
"""

line = input().split()
a, b = eval(line[0]), eval(line[1])
sum = a + b

sign = sum >= 0
str = str(sum)
length = len(str)

i = 0
while i < len(str):
    print(str[i], end='')
    if str[i] == '-':
        i += 1
        continue
    if (i+1) % 3 == length % 3 and i != length - 1:
        print(',', end='')
    i += 1

Result:

 

4.Summary:

之前第一次做的时候分正负号讨论过,所以代码不算简洁,然后参考有些大神的,写了一个较为简洁的!继续加油!

 

笨鸟先飞,水滴石穿!

 

おすすめ

転載: www.cnblogs.com/sheepcore/p/12359660.html