| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1948 人关注过本帖
标题:设计一个程序,求n的p次幂(n,p都是整数)
只看楼主 加入收藏
飘少
Rank: 1
来 自:山东泰安
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-28
收藏
 问题点数:0 回复次数:10 
设计一个程序,求n的p次幂(n,p都是整数)
设计一个程序,求n的p次幂(n,p都是整数)  如题,就是这样,我整了一个程序,麻烦高手给指点指点~谢谢谢谢谢谢谢谢谢谢谢谢谢谢



#include<stdio.h>
int main(void)
[
     int n,p,m,i;
     printf("n=");
     scanf("%ld\n",n);
     printf("p=");
     scanf("%ld\n",p);
     for(i=1;i<=p;i++)
      m*=n;
     printf("%ld^%ld=%ld\n",n,p,m);
     return 0;
 ]
就是这样了,不知哪里有错,本人菜鸟,刚学到循环语句,还有,手机发帖,大括号打不出来,用中括号替的~望高人指点~
搜索更多相关主题的帖子: 整数 设计 
2010-04-19 14:37
zhecool
Rank: 2
等 级:论坛游民
帖 子:8
专家分:39
注 册:2010-3-31
收藏
得分:0 
我也是初学,这儿就我自己觉得可能有问题的地方说下吧,如果有什么不对的地方,还请谅解哈!
1 一开始变量声明的时候都是用的int,所以后面scanf以及printf语句中的格式化符号应该对应的用%d或者%i,而不是%ld(不过我不太肯定一定会出错)
2 for循环中m在前面声明中并没有初始化值,这很可能会出问题的(可能会被自动的初始化为0或者别的什么值或者出现什么搞不清楚的问题),以我短暂的初学C语句的经验,最好是事先给它赋值,根据这里的具体情况应该是m=1


[ 本帖最后由 zhecool 于 2010-4-19 15:03 编辑 ]
2010-04-19 14:59
飘少
Rank: 1
来 自:山东泰安
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-28
收藏
得分:0 
哦,谢谢

始终被模仿,从未被超越!
2010-04-19 15:02
lm10171993
Rank: 1
来 自:云南大学
等 级:新手上路
帖 子:5
专家分:2
注 册:2010-4-19
收藏
得分:0 
楼上说的是正确的 作者的循环初始化有问题  看看下边这个 我做的  运行没有问题
#include<stdio.h>
int main()
{
    int n = 0;
    int p = 0;
    int i = 0;
    int result = 1;
    printf("n= ");
    scanf("%d",&n);
    printf("p=");
    scanf("%d",&p);
    for(i=1;i<=p;i++)
    {
        result = result * n;
    }
    printf("result = %d",result);
}
2010-04-19 15:21
飘少
Rank: 1
来 自:山东泰安
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-28
收藏
得分:0 
3楼,最后没有return 0;这个语句也行吗?

始终被模仿,从未被超越!
2010-04-19 18:56
飘少
Rank: 1
来 自:山东泰安
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-28
收藏
得分:0 
还有,我的那个程序的输入语句忘记指针了~

始终被模仿,从未被超越!
2010-04-19 18:57
qq493190279
Rank: 2
来 自:湖北黄冈
等 级:论坛游民
帖 子:11
专家分:12
注 册:2010-3-14
收藏
得分:0 
在int 类型没有ld的,double类型才用 lg,lf之类的,这个是基本的基础,上课听到的一般都会知道的
2010-04-19 20:14
甁瓶里D罐罐
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2010-1-21
收藏
得分:0 
#include<stdio.h>
int main(void)
{
     int n,p,m=1,i;
     printf("n=");
     scanf("%ld",&n);
     printf("p=");
     scanf("%ld",&p);
     for(i=1;i<=p;i++)
     m=m*n;
     printf("%ld^%ld=%ld\n",n,p,m);
     return 0;
}
你没声明m的初始值 其他都没有错
2010-04-19 22:05
lm10171993
Rank: 1
来 自:云南大学
等 级:新手上路
帖 子:5
专家分:2
注 册:2010-4-19
收藏
得分:0 
回复 5楼 飘少
可以的  但是有更好  谢谢你指出我的问题
2010-04-19 22:06
haoge100835
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-4-19
收藏
得分:0 
不错啊

菜鸟来学计算机语言,高手从这里起步.
2010-04-19 22:35
快速回复:设计一个程序,求n的p次幂(n,p都是整数)
数据加载中...
 
   



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

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