黑马程序员技术交流社区

标题: 1109_行李价格练习 [打印本页]

作者: donkey2    时间: 2014-11-9 17:12
标题: 1109_行李价格练习
本帖最后由 donkey2 于 2014-11-11 12:12 编辑

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
//        NSLog(@"Hello, World!");
         float weight;
         float money;
        NSLog(@"请输入行李的重量");
        scanf("%f",&weight);
        if(weight<= 50)
            money = 0.15 * weight;
       else if(weight > 50)
            money = 0.15 * weight + (weight - 50) * 0.1;
        NSLog(@"行李托运的价格为%.2f",money);

    }
    return 0;
}


遇到的问题,之前运行后用%f输出的结果,后面又很多小数位。
于是想只保留2位小数,于是写的
scanf("%2f",&weight);
NSLog(@"行李托运的价格为%.2f",money);

发现运算的结果不对了,
原因是:scanf 如果写成了%2f,则只保留2位输入的数字。
所以就不对了,应该是这个原因吧。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2