| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1830 人关注过本帖
标题:求a的n次方,不知道哪错了
只看楼主 加入收藏
笨鸟不会飞
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-5-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
求a的n次方,不知道哪错了
#include<stdio.h>
float mypow(float x,int y)
{float i=0,s=1;
for (int i=0; i<=y;i++)
s =s*x;
return(s)
}
main()
{
    float a=0.5;
    int n=5;
    printf("%f",mypow(a,n));
    getch();}
2015-06-14 17:48
笨鸟不会飞
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-5-28
收藏
得分:0 
求解答
2015-06-14 17:49
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:4 
程序代码:
#include<stdio.h>
float mypow(float x,int y)
{
    float i=0,s=1;
    for (int i=0; i<=y;i++)
    s =s*x;
   return(s);//少了分号
}
int main()
{
    float a=0.5;
    int n=5;
    printf("%f",mypow(a,n));
    //getch();
    return 0;
    }

一片落叶掉进了回忆的流年。
2015-06-14 17:55
代码艺术
Rank: 1
来 自:山东省青州市何官镇
等 级:新手上路
帖 子:24
专家分:4
注 册:2015-4-8
收藏
得分:0 
程序代码:
#include<stdio.h>
float mypow(float x,int y)

 {
     float s=1;
     int i;//在这初始化 i
     for ( i=0; i<=y;i++)
     s =s*x;
    return(s);
}
int main()

 {
     float a=0.5;
     int n=5;
     printf("%f",mypow(a,n));
    return 0;

 }
2015-06-14 19:54
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:4 
都盯着语法错误,都没注意到逻辑错误?循环次数对吗?

重剑无锋,大巧不工
2015-06-14 20:06
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:4 
0.5*0=0
i应该从1开始。

代码测试环境:  WinXP+C-Free5.0.
2015-06-15 07:21
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:0 
回复 7楼 边小白

没细看,错了.

回复 楼主:
程序代码:
#include<stdio.h>
float mypow(float x,int y)
{float i=0,s=1;                 //对float类型,建议初始化的时候这样写float s=1.0; 尽管编译器看到float会把1当成1.0      
for (int i=0; i<=y;i++)         //这里对i进行了重复的声明, 编译器会报错的.  另外,  对于乘方来说, 这里i需要注意是从0开始还是1开始
                                //以便后面究竟是用<还是≤.
s =s*x;
return(s)                       //C的重要组成部分,分号";"
}
main()                          
{
    float a=0.5;
    int n=5;
    printf("%f",mypow(a,n));
    getch();}              

程序代码:
建议main()使用以下格式:

 #include <stdio.h>
    int main(int argc, char *argv[])
    {
        //程序代码;
        return 0;
    }
直接main(){}的写法在有的编译器上是没法通过编译的. 

以下为本人使用的编译器给出的错误内容:  
程序代码:
--------------------配置: mingw5 - CUI Debug, 编译器类型: MinGW--------------------

检查文件依赖性...
正在编译 D:\lili\C-Free\Temp\未命名1.c...
[Error] D:\lili\C-Free\Temp\未命名1.c:4: error: conflicting types for 'i'                  //变量'i'类型冲突
[Error] D:\lili\C-Free\Temp\未命名1.c:3: error: previous definition of 'i' was here        //变量'i'在此处已经定义
[Error] D:\lili\C-Free\Temp\未命名1.c:4: error: 'for' loop initial declaration used outside C99 mode //for循环内定义使用了非C99方式.
[Error] D:\lili\C-Free\Temp\未命名1.c:7: error: syntax error before '}' token    //"}"前有句法错误. 一般是忘记";"        
[Warning] D:\lili\C-Free\Temp\未命名1.c:14:5: warning: no newline at end of file /*文件最后没有新的一行.  这是个警告.  在网上查了下相关的内容, 没有找到中文的, 看了下英文的相关描述, 个人理解的大致意思就是一般来说不会有什么影响. 但是对于大型程序, 源文件多的时候可能会出现宏定义和/或文件包含错误.  
*/

构建中止 未命名1: 4 个错误, 1 个警告



[ 本帖最后由 vvvcuu 于 2015-6-15 12:16 编辑 ]

代码测试环境:  WinXP+C-Free5.0.
2015-06-15 12:14
zly1208
Rank: 2
等 级:论坛游民
帖 子:2
专家分:24
注 册:2015-5-29
收藏
得分:4 
你这是六次吧。建议用静态变量。就没有这么麻烦了
2015-06-15 19:23
笨鸟不会飞
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-5-28
收藏
得分:0 
回复 3楼 诸葛欧阳
真的是少了个引号,谢谢
2015-06-15 21:04
CrystalFan
Rank: 8Rank: 8
来 自:江苏南京
等 级:蝙蝠侠
帖 子:187
专家分:802
注 册:2009-7-30
收藏
得分:0 
楼主需要虚心求教。按规范写代码。错误比较多。不过楼上几位回答的也比较上心。
2015-06-16 08:21
快速回复:求a的n次方,不知道哪错了
数据加载中...
 
   



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

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