| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 615 人关注过本帖
标题:新手的一个小问题。
只看楼主 加入收藏
dan1315
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2009-8-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
新手的一个小问题。
# define PI 3.14
# include <stdio.h>
# include <math.h>
void main ()
{
    double l,S,s,V,v;
    float r,h;
    printf("请输入圆的半径和圆柱的高(请精确到2位小数,以 ,号隔开)\n");
    scanf("%f%f\n",&r,&h);
    l=2*PI*r;
    S=PI*pow(r,2);
    s=4*PI*pow(r,2);
    V=4/3*PI*pow(r,3);
    v=S*h;
    printf("l=%f\nS=%f\ns=%f\nV=%f\nv=%f\n",l,S,s,V,v);
}


圆半径r=1.5  圆柱高h=3   求圆周长l,圆面积S。圆球表面积s,圆球体积V。圆柱体积v   
我翻着书做了很久才做出来,但是还是有错,,,,
。。。。圆柱体积v。。。它始终是个负数。。。
哎,,菜鸟没办法啊。
各位大大帮帮忙。。
谢谢。。。
哦,补充下,,我用的是VC++6。0。。呵呵!!!!

[ 本帖最后由 dan1315 于 2009-10-2 07:28 编辑 ]
搜索更多相关主题的帖子: include double 表面积 圆面积 
2009-10-02 07:17
chenaiyuxue
Rank: 5Rank: 5
来 自:山东滨州
等 级:职业侠客
帖 子:334
专家分:370
注 册:2008-5-20
收藏
得分:4 
既然要求输入圆的半径和圆柱的高的时候以逗号隔开,那么scanf的格式串中就要有逗号,再有就是格式串中不能有\n。把scanf("%f%f\n",&r,&h);改成scanf("%f,%f",&r,&h);

你是雪,我是尘埃,相遇是意外;你坠落,在我胸怀,流进我血脉。
2009-10-02 08:43
放弃那个阿姨
Rank: 2
等 级:论坛游民
帖 子:41
专家分:75
注 册:2009-9-29
收藏
得分:4 
ls的说的很对。
还又就是S=PI*pow(r,2);
    s=4*PI*pow(r,2);
    V=4/3*PI*pow(r,3);
干嘛要用函数。
s=4*PI*r*r;
会更好。运算效率高。、、
2009-10-02 09:17
dan1315
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2009-8-26
收藏
得分:0 
# define PI 3.14
# include <stdio.h>
void main ()
{
    double l,s,v,S,V;
    float r,h;
    printf("请输入圆半径和圆柱高(精确到2位小数,以 ,隔开)\n");
    scanf("%f,%f",&r,&h);
    l=2*PI*r;
    S=PI*r*r;
    V=4/3*PI*r*r*r;
    s=4*PI*r*r;
    v=s*h;
    printf("圆周长l=%f\n圆面积S=%f\n圆球体积V=%f\n圆球表面积s=%f\n圆柱体积v=%f\n",l,S,V,s,v);
}


原来是这样的!!!!
还问个问题。。
怎样把结果只保留2位小数??????????????
非常感谢两位的帮助!!!!
2009-10-02 10:04
daved
Rank: 1
等 级:新手上路
帖 子:12
专家分:8
注 册:2009-6-8
收藏
得分:4 
      
          我用的是TC,楼主所说的问题好像没出现过。
                        

            为了规范编程确实要把scanf("%f%f\n",&r,&h);改成scanf("%f,%f",&r,&h);
2009-10-02 10:06
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:4 
# define PI 3.14
# include <stdio.h>
# include <math.h>
void main ()
{
    double l,S,s,V,v;
    float r,h;
    printf("请输入圆的半径和圆柱的高(请精确到2位小数,以 ,号隔开)\n");
    scanf("%f,%f",&r,&h);
    l=2*PI*r;
    S=PI*pow(r,2);
    s=4*PI*pow(r,2);
    V=4/3*PI*pow(r,3);
    v=S*h;
    printf("l=%.2f\nS=%.2f\ns=%.2f\nV=%.2f\nv=%.2f\n",l,S,s,V,v); //实现输出两位小数
}
2009-10-02 11:15
chainofwind
Rank: 2
来 自:YongKang
等 级:论坛游民
帖 子:7
专家分:12
注 册:2009-9-20
收藏
得分:4 
保留小数只要在%f 中间加就行。比如%.2f就是保留俩小数,%.3f就是三位

风....过..人....隐
2009-10-02 19:47
dan1315
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2009-8-26
收藏
得分:0 
谢谢,,各位大大的帮助。》》》我知了
2009-10-02 20:06
快速回复:新手的一个小问题。
数据加载中...
 
   



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

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