题目描述:
输入
输入一个整数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进制的问题,此方法更通用。