1.Description:
計算 +のBと出力標準フォーマットの和- (以下4桁以上ある場合を除き)桁がコンマによる三のグループに分離されなければなりません。
ノート:
-
各入力ファイルには、1つのテストケースが含まれています。各ケースは、整数のペアが含ま と B - 。数値は、スペースで区切られます。
-
各テストケースの場合、出力の合計はずです し、 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:
之前第一次做的时候分正负号讨论过,所以代码不算简洁,然后参考有些大神的,写了一个较为简洁的!继续加油!
笨鸟先飞,水滴石穿!