题目描述:
输入
输入一个整数num,表示里程表显示的数值,1 < num < 1000,且一定不含整数4。
输出输出一个整数,为该汽车实际行驶的公里数。例如,如果该里程表显示55,则实际走过的公里 数是40。样例输入 Copy106样例输出 Copy86
代码
# 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进制的问题,此方法更通用。
辆汽车有一个里程表 该里程表可以显示一个整数 为该车走过的公里数。然而这个里程表有个毛病:它总是从3变到5 而跳过数字4 里程表所有位上的数字都是如此。例如 如果里程表显示33