| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1182 人关注过本帖
标题:本人编的一个函数,求指教
只看楼主 加入收藏
萧哲君
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2016-10-30
结帖率:87.5%
收藏
已结贴  问题点数:12 回复次数:8 
本人编的一个函数,求指教
#include<stdio.h>
#define PI 3.14159
int main()
{
    float  norm(float);
    float  pcdif(float);
    void showit(float);   /*这三行是函数原型,第一行是返回半径,第二行是返回面积,第三行是输出面积。*/

    float  radius;
    float  circle;
    float  area;     /*此三行是分别定义半径、周长、面积*/

    printf("Please enter the circle:");
    scanf("%f",&circle);    /*输入半径*/

    radius=norm(circle);
    area=pcdif(radius);   /*计算部分,先后得出半径,面积。*/

    showit(area);   /*显示面积值*/

    return 0;
}

/*此函数是为了计算并输出半径*/
float norm(float circle)
{
    float radiu;
    radiu=circle/(PI*2);
    printf("The yuan's radiu is %f",radiu);

    return (radiu);
}

/*此函数是为了计算面积并返回面积值*/
float pcdif(float radius)
{
    float areas;
    areas=radius*radius*2;
    printf("The yuan's area is %f",areas);
    return (areas);
}

/*此函数是为了输出面积值*/
void showit(float area)
{
    printf("The yuan's area is %f",area);
}
这是本人编的一个程序,目的是计算圆的面积,输入的是圆的周长,输出是圆的面积,但运行时产生如下结果
图片附件: 游客没有浏览图片的权限,请 登录注册

请教是何原因。
搜索更多相关主题的帖子: include 
2016-11-03 23:42
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:2 
3.14159 实在凑巧,你换个别的数就不会输出的三个数都一样了

[此贴子已经被作者于2016-11-4 00:03编辑过]


早知做人那么辛苦!  当初不应该下凡
2016-11-03 23:57
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:2 
明明输入的是周长,你说“/*输入半径*/”
面积的计算公式竟然是“areas=radius*radius*2”

我觉得你还是将题目要求贴出来吧
2016-11-04 08:47
夏天的飞鸟
Rank: 2
来 自:海底两万里
等 级:论坛游民
威 望:1
帖 子:24
专家分:70
注 册:2016-11-4
收藏
得分:2 
结果没错啊,你想要说什么
2016-11-04 09:16
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:1 
scanf("%f",&circle);    /*输入半径*/

    radius=norm(circle);
    area=pcdif(radius);   /*计算部分,先后得出半径,面积。*/
既然都读入了半径,那怎么用半径去计算“半径”?




φ(゜▽゜*)♪
2016-11-04 09:32
萧哲君
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2016-10-30
收藏
得分:0 
以上问题,本人已改进,但是这个程序是我模仿书上编成的,对于返回值,和返回到哪里还是有所疑问,求指教。
2016-11-04 11:22
萧哲君
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2016-10-30
收藏
得分:0 
以上问题,本人已改进,但是这个程序是我模仿书上编成的,对于返回值,和返回到哪里还是有所疑问,求指教。
2016-11-04 11:22
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:1 
回复 7楼 萧哲君
请说出具体代码行

早知做人那么辛苦!  当初不应该下凡
2016-11-04 11:40
清白小生
Rank: 2
来 自:深圳
等 级:论坛游民
帖 子:15
专家分:16
注 册:2016-11-3
收藏
得分:4 
1.尽量不要在调用函数里使用printf.应把printf放在主函数中。
2.针对你说的返回值,比如说:
float pcdif(float radius)
{
    float areas;
    areas=radius*radius*2;
    printf("The yuan's area is %f",areas);
    return (areas);
}
返回值是areas,是为了将这个areas值返回给主函数中的area,并结束此调用函数,你才能输出面积。与主函数中return 0是一个道理,都是结束的标志。

懒惰解决不了啥事
2016-11-04 14:45
快速回复:本人编的一个函数,求指教
数据加载中...
 
   



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

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