2205 - 假装是土豪

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

    HJY从小就立志要成为一名土豪,不过到现在他的梦想还未实现;虽然他还不是土豪,但他经常假装自己是土豪。
    在学校时,他经常到超市买东西,为了使自己更像土豪,他的钱包里只装有100元面值的钞票,每次到超市买东西的时候,他总是会霸气的拿起一个几毛钱的东西,然后昂首挺胸的走向收银台,从钱包拿出100元付给收银MM,收银MM对他那种行为极其厌恶,所以每次找钱的时候总是故意找给HJY一大堆零钱(1角,1元,10元);例如HJY买了一包5毛钱的咪咪,然后收银MM会找给他5张一角,9张一元,9张10元;现在,和土豪做朋友的时候到了,让你帮HJY算算每次他买东西会收到多少张钞票。
    注意:HJY每次买东西只会买0.1元~100元的东西,而且他每次只给100元收银MM,收银MM每次只会找1角,1元,10元面值的钞票。

题目输入

   题目有多组数据,输入以EOF结束,每组数据包含一个浮点数a(0.1 <= a <= 100),表示HJY买的东西的价值。

题目输出

   对于每组数据,单独输出一行,表示收银MM会找给HJY多少张钞票。

输入/输出样例

输入格式

0.3
50.0
95.5

输出格式

25
5
9

C语言解答

#include<stdio.h>
int main (){
	float n;
	int s,i,j,k,num;
	while(scanf("%f",&n)!=EOF){
		num = 0;
		n*=10;
		s=1000 - n;
		i=s/100;
		k=s%10;
		j=(s-i*100-k)/10;
		num+=i;
		num+=j;
		num+=k;	
		printf("%d\n",num);
	}
	return 0;
}

C++解答

#include <cstdio>
int a, b, ans;
int main() {
    while(~scanf("%d.%d", &a, &b)) {
        ans = 0;
        a = 1000 - a * 10 - b;
        while(a) {
            ans += a % 10;
            a /= 10;
        }
        printf("%d\n", ans);
    }
}