| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 825 人关注过本帖
标题:求助,谁能帮我看看这个程序怎么回事啊?
只看楼主 加入收藏
besall
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-10-30
结帖率:100%
收藏
已结贴  问题点数:4 回复次数:9 
求助,谁能帮我看看这个程序怎么回事啊?
大家好,我现在刚学C语言,做了一个题是求3的次暮,但是不知道怎么回事,结果比正常值大了个1。哪位大哥大姐帮帮我啊?
程序代码如下!

#include <stdlib.h>

long shuru,jieguo,e;
long cimu(long x);

int main()
{
      printf("输入你要求的3的次幕:");
      scanf("%d",&shuru);
      jieguo=cimu(shuru);
      printf("结果是:%d/n",jieguo);
      system("PAUSE");
      return 0;
}

long cimu(long x)
{
  int a;
  if(x<0)
    a=1;
  else
    a=(3*cimu(x-1));

  return a;

}
搜索更多相关主题的帖子: include system return C语言 long 
2011-10-30 14:46
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 楼主 besall
改成这个试试,printf("结果是:%d\n",jieguo);

总有那身价贱的人给作业贴回复完整的代码
2011-10-30 14:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
刚学就用递归来算这种数,有出息……

授人以渔,不授人以鱼。
2011-10-30 15:23
yuyuehan2010
Rank: 2
来 自:浙江
等 级:论坛游民
帖 子:19
专家分:22
注 册:2011-10-6
收藏
得分:0 
回复 楼主 besall
把if(x<0)改成if(x<=0)
2011-10-30 15:27
苦雪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:44
专家分:114
注 册:2011-5-29
收藏
得分:0 
long cimu(long x)
{
  int a;
  if(x<0)  //改为x<=0
    a=1;
  else
    a=(3*cimu(x-1));

  return a;

}将其中的x<0,改为x<=0;就行了.
2011-10-30 15:29
besall
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-10-30
收藏
得分:0 
回复 2楼 embed_xuel
谢谢哥哥帮忙,但是还是不行!
2011-10-30 16:28
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:1 
程序代码:
#include <stdio.h>
#include <stdlib.h>

long shuru,jieguo,e;
long cimu(long x);

int main()
{
      printf("输入你要求的3的次幕:");
      scanf("%d",&shuru);
      jieguo=cimu(shuru);
      printf("结果是:%d\n",jieguo);
      system("PAUSE");
      return 0;
}

long cimu(long x)
{
  int a;
  if(x==0)
    a=1;
  else
    a=(3*cimu(x-1));

  return a;

}
收到的鲜花
  • besall2011-10-31 16:57 送鲜花  2朵  
  • besall2011-10-31 16:58 送鲜花  2朵  

                                         
===========深入<----------------->浅出============
2011-10-30 20:05
忆泪
Rank: 2
等 级:论坛游民
帖 子:42
专家分:49
注 册:2011-10-22
收藏
得分:2 
回复 6楼 besall
你根据四楼的改法儿,再在最前面加上个#include<stdio.h>
就可以啦
收到的鲜花
  • besall2011-10-31 16:58 送鲜花  3朵  
  • besall2011-10-31 16:58 送鲜花  3朵  
2011-10-30 20:54
青之眷
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2011-10-26
收藏
得分:1 
回复 楼主 besall
这个应该可以
--------------------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>

float jieguo;
int shuru;
float cimu(long x);

void main()
{
      printf("输入你要求的3的次幕:");
      scanf("%d",&shuru);
      jieguo=cimu(shuru);
      printf("结果是:%f\n",jieguo);
      system("PAUSE");
}

float cimu(long x)
{
  float a;
  if(x<0)
    a=1/(3*cimu(-x-1));
  if(x==0)
      a=1;
  if(x>0)
    a=(3*cimu(x-1));
    return a;

}
2011-10-30 21:14
besall
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-10-30
收藏
得分:0 
回复 8楼 忆泪
果然完美解决问题。请问为什么要加#include<stdio.h>啊?
2011-10-31 16:55
快速回复:求助,谁能帮我看看这个程序怎么回事啊?
数据加载中...
 
   



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

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