読者です 読者をやめる 読者になる 読者になる

メモ

yukicoderで遊んでいる競プロゆるふわ勢

yukicoder No.383 レーティング

問題はこちら
No.383 レーティング - yukicoder

やるだけ

int main(){
	int n,k;
	scanf("%d%d",&n,&k);
	if(k-n>0)printf("+");
	printf("%d",k-n);
	return 0;
}

ところでprintfには %+d という便利なフォーマットがあって、値が正の時には頭に+を付けてくれる。
……嘘です。「値が非負の時には」が正しい。つまり0だと"+0"が出力されてしまう。(1WA)
ということで0の時だけ場合分けをしてまとめる。関数の引数は後ろから評価される事を利用する

n;
main(k){
	scanf("%d%d",&n,&k);
	n=!printf(k?"%+d":"0",k-=n);
}

59B