走行距離は、車両キロの整数で移動表示することができる自動車の走行距離計があります。しかし、このオドメーターは問題を抱えている:それは常に数4、すべて該当するオドメータ位置の数をスキップし、3から5に変更します。例えば、33オドメーターの表示された場合

説明タイトル:
入力
入力整数NUM、オドメーターに示す数値は、1 <NUM <1000及び4は、整数を含まなければなりません。

			输出
			输出一个整数,为该汽车实际行驶的公里数。例如,如果该里程表显示55,则实际走过的公里 数是40。
			
			样例输入 Copy
			106
			样例输出 Copy
			86

コード

# include<stdio.h>
int main()
{
	int m,n,i,array[1000],sum=0;
	scanf("%d",&m);
	for(n=0; ;n++)
	{
		array[n]=m%10;
		m/=10;
		if(m==0)
		{
			break;
		}
	}
	for(i=0;i<=n;i++)
	{
		if(array[i]>4)
		{
			array[i]-=1;
		}
	}
	for(i=n;i>=0;i--)
	{
		sum=sum*9+array[i];
	}
	
	printf("%d",sum);
	return 0;
}

注:9バイナリ変換の問題に10進数に変換することができ、この方法は、より多用途です。

公開された43元の記事 ウォンの賞賛1 ビュー774

おすすめ

転載: blog.csdn.net/Du798566/article/details/104209680