PATグレードAブラシテストレコード-1001 A + B形式(20ポイント)

a + bを計算し、合計を標準形式で出力します。つまり、数字をコンマで3つのグループに分ける必要があります(4桁未満の場合を除く)。

入力仕様:

各入力ファイルには、1つのテストケースが含まれています。各ケースは、整数aとb -10一対含ま6 ≤a、b≤10 6番号はスペースで区切られます。

出力仕様:

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

入力例:

-1000000 9

出力例:

-999,991

アイデア

この質問は、文字列タイプを使用するのは非常に簡単です。最後の3桁目から読み取った文字列をカンマ "、"に挿入するだけです(ここで、ループの終了条件はi> = 0ではなく、i> 0と記述する必要があります。それ以外の場合、結果が正確に6桁の場合、最初の桁もコンマになります(例に示されているケースのように))が、ここで正と負のケースに分ける必要があります。負の数の場合は、最初に負の符号を使用します出てきて、前の肯定的な方法に従って正常に動作し、最後に否定的な記号を挿入します〜

コード

#include<cstdio> 
#include<string>
#include<iostream>
using namespace std;
int main(){
	int tmp1, tmp2;
	cin>>tmp1>>tmp2;
	int sum = tmp1+tmp2;
	string result = to_string(sum);
	if(result[0]=='-'){
		string temp = result.substr(1,result.length()-1);
		for(int i=temp.length()-3;i>0;i-=3) temp.insert(i,",");
		result = temp;
		result.insert(0,"-");
	}
	else{
		for(int i=result.length()-3;i>0;i-=3) result.insert(i,",");
	}
	cout<<result;
    return 0;
}
元の記事を54件公開 27 件を獲得 4974件を表示

おすすめ

転載: blog.csdn.net/weixin_42257812/article/details/105575087