CodeChef-CIELAB : Ciel and A-B Problem

問題概要

A,B(A>B)が与えられるので、A-Bの値を10進表記して1文字だけ変更する問題。

解法

leading zeroとpositive integerに気をつけてやるだけ。

acceptされたコード

#include <cstdio>
#include <cstring>
using namespace std;

int main(){
	int a, b;
	scanf("%d%d", &a, &b);
	char buf[100];
	sprintf(buf, "%d", a - b);

	for(int i=strlen(buf)-1; i>=0; i--){
		if(buf[i] == '0' || buf[i] == '1'){
			buf[i]++;
			break;
		}
		else{
			buf[i]--;
			break;
		}
	}
	puts(buf);

	return 0;
}