标题:新人求鞭打 求指点(问题第二帖)
只看楼主
低调中奢华
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-10-29
结帖率:100%
已结贴  问题点数:10 回复次数:7 
新人求鞭打 求指点(问题第二帖)
#include <stdio.h>
int main(void)
{
    float weight;     
    //用户的体重
    float value;     
    //相等重量的铑的价值
    printf("Are you worth your weight in rhodium?\n");
    printf("let's check it out.\n");
    printf("Please enter your weight in pounds: ");     
    //从用户处获取输入
    scanf("%f", &weight);
    //假设铑为每盎司770美元
    //14.5833把常衡制的英镑转换为金衡制的盎司
    value = 770 * weight * 14.5833;
    printf("Your weight in rhodium is worth $%.2f.\n". value);
    printf("You are easily worth that! If rhodium prices drop, \n");
    printf("eat more to maintain your value.\n");
    return 0;
详细请见《c primer plus》 第三章开头例题
编译有一个错误 何解?
搜索更多相关主题的帖子: 用户 价值 include 
2012-11-02 11:07
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
#include <stdio.h>
int main(void)
{
    double weight;     
    //用户的体重
    double value;     
    //相等重量的铑的价值
    printf("Are you worth your weight in rhodium?\n");
    printf("let's check it out.\n");
    printf("Please enter your weight in pounds: ");     
    //从用户处获取输入
    scanf("%f", &weight);
    //假设铑为每盎司770美元
    //14.5833把常衡制的英镑转换为金衡制的盎司
    value = 770 * weight * 14.5833;
    printf("Your weight in rhodium is worth $%.2lf.\n" value);
    printf("You are easily worth that! If rhodium prices drop, \n");
    printf("eat more to maintain your value.\n");
    return 0;
}  //缺少括号
还不知道哪里有个全角分号  忘了

DO IT YOURSELF !
2012-11-02 11:13
低调中奢华
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-10-29
得分:0 
回复 2楼 wp231957
下面的“}”是没有复制上 为什么要用double啊 我看书上是float
2012-11-02 11:16
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
value = 770 * weight * 14.5833;
估计2个FLOAT类型相乘  编译器认为其结果必为DOUBLE型

DO IT YOURSELF !
2012-11-02 11:17
低调中奢华
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-10-29
得分:0 
回复 4楼 wp231957
double改了,试了,还是不对。纠结啊
2012-11-02 11:22
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
#include <stdio.h>
int main(void)
{
    double weight;     
    //用户的体重
    double value;     
    //相等重量的铑的价值
    printf("Are you worth your weight in rhodium?\n");
    printf("let's check it out.\n");
    printf("Please enter your weight in pounds: ");     
    //从用户处获取输入
    scanf("%f", &weight);
    //假设铑为每盎司770美元
    //14.5833把常衡制的英镑转换为金衡制的盎司
    value = 770 * weight * 14.5833;
    printf("Your weight in rhodium is worth $%.2lf.\n", value);
    printf("You are easily worth that! If rhodium prices drop, \n");
    printf("eat more to maintain your value.\n");
    return 0;
}
这样可以编译啊

DO IT YOURSELF !
2012-11-02 11:28
低调中奢华
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-10-29
得分:0 
回复 6楼 wp231957
Your weight in rhodium is worth $%.2lf.\n", value 为什么是%21f 而不是%.2f 求解
2012-11-02 11:31
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:10 
float  对应 F
DOUBLE 对应 LF

DO IT YOURSELF !
2012-11-02 11:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-385602-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.127772 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved