| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:这是为什么??为学c,想编个幂函数,结果总是0.0000
只看楼主 加入收藏
puhoo
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2015-1-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
这是为什么??为学c,想编个幂函数,结果总是0.0000
为啥啊
图片附件: 游客没有浏览图片的权限,请 登录注册

  1 #include <stdio.h>
  2 #include <math.h>
  3
  4 int main()
  5 {
  6         double x;
  7         int y;
  8         printf("x = ");
  9         scanf("%lf/n", &x);
 10         printf("y = ");
 11         scanf("%d/n", &y);
 12         printf("Power(x, y) = %lf\n", pw(x,y));
 13 }
 14
 15 pw(double x, int y)
 16 {
 17         double s;
 18         int t;
 19         s=1.0;
 20
 21         for(t=1;t<=y;t++)
 22         {
 23                 s*=x;
 24         }
 25
 26         return s;
 27 }
搜索更多相关主题的帖子: include double Power 
2015-01-18 16:29
ffbh
Rank: 2
等 级:论坛游民
威 望:1
帖 子:27
专家分:10
注 册:2015-1-15
收藏
得分:0 
pw函数没有在开头声名
2015-01-18 16:34
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
pw未说明返回值类型,在scanf中写/n是什么意思?

一片落叶掉进了回忆的流年。
2015-01-18 17:12
ffbh
Rank: 2
等 级:论坛游民
威 望:1
帖 子:27
专家分:10
注 册:2015-1-15
收藏
得分:0 
回复 3楼 诸葛欧阳
没有返回值默认是int
2015-01-18 17:14
puhoo
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2015-1-18
收藏
得分:0 
回复 3楼 诸葛欧阳
/n是回车啊
2015-01-18 19:31
puhoo
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2015-1-18
收藏
得分:0 
回复 2楼 ffbh
不懂,加int,也还是0.0000啊
2015-01-18 19:35
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用puhoo在2015-1-18 19:31:00的发言:

/n是回车啊

\n才是回车

输入的格式字符串里面不要加这些东西
2015-01-18 20:05
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:20 
以下是引用puhoo在2015-1-18 19:35:44的发言:

不懂,加int,也还是0.0000啊

程序代码:
#include <stdio.h>
#include <math.h>

double pw(double x, int y);

int main(void)
{
    double x;
    int y;
    printf("x = ");
    scanf("%lf", &x);
    printf("y = ");
    scanf("%d", &y);
    printf("Power(x, y) = %lf\n", pw(x, y));

    return 0;
}

double pw(double x, int y)
{
    double s = 1.0;
    int t;

    for(t = 1; t <= y; t++)
    {
        s *= x;
    }

    return s;
}



有这么几个知识点

1. 函数调用前应该申明 或者把函数定义放在调用之前
2. 函数返回值类型应该明确指明 而且不能错 比如你这里肯定要返回double 你写int就是错的
3. 上面说了 对于初学者 scanf()不要写\n等东西 因为容易错

我好奇 楼主用的是什么系统?


[ 本帖最后由 zklhp 于 2015-1-18 20:09 编辑 ]
2015-01-18 20:08
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
回复 4楼 ffbh
你确定/n是回车,pw要返回int型吗?你看看你主函数用的不是%lf吗?

一片落叶掉进了回忆的流年。
2015-01-18 21:50
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
以下是引用zklhp在2015-1-18 20:08:06的发言:


 
#include  
#include  
 
double pw(double x, int y);
 
int main(void)
{
    double x;
    int y;
    printf("x = ");
    scanf("%lf", &x);
    printf("y = ");
    scanf("%d", &y);
    printf("Power(x, y) = %lf\n", pw(x, y));
 
    return 0;
}
 
double pw(double x, int y)
{
    double s = 1.0;
    int t;
 
    for(t = 1; t <= y; t++)
    {
        s *= x;
    }
 
    return s;
}
 


有这么几个知识点

1. 函数调用前应该申明 或者把函数定义放在调用之前
2. 函数返回值类型应该明确指明 而且不能错 比如你这里肯定要返回double 你写int就是错的
3. 上面说了 对于初学者 scanf()不要写\n等东西 因为容易错

我好奇 楼主用的是什么系统?
学习
2015-01-18 22:50
快速回复:这是为什么??为学c,想编个幂函数,结果总是0.0000
数据加载中...
 
   



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

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