网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月19日
漏签
0
天
c吧
关注:
132,719
贴子:
393,719
看贴
图片
吧主推荐
视频
游戏
1
2
下一页
尾页
48
回复贴,共
2
页
,跳到
页
确定
<<返回c吧
>0< 加载中...
C 语言编程求教,急等!
只看楼主
收藏
回复
志骏
圣启示录
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
请教C语言编写N阶乘函数,如果是小于等于12,则输出N!,如果不是整数,则输出error,如果大于12输出溢出,谢谢大神!
民国王思聪
野兽先辈
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
使用if判断语句,不谢
农夫三泉有点_
西行幽冥
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
现在的我一出手就是标准的十五字
志骏
圣启示录
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include <stdio.h>
int f(int n)
{if(n>12.00) printf("Overflow\n") ;
else if((int)n==n)return n*f(n-1);
else return 1;
}
void main()
{int n;
scanf("%d",&n);
printf("%d\n",f(n));
}
求指点
冷血是我的Rule
圣启示录
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
第四行if语句里的(int)n==n是什么意思啊
woaiwowyj
野兽先辈
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你用的递归语句我不会
有个代替的循环语句看能不能帮到你
#include<iostream>
using namespace std;
void main()
{ int n;int sum=1;
cin >> n;
if(n>12) {printf("Overflow\n") ;}
else if ( n <=12)
{for(int a=1;a<=n;a++)
{sum *=a;}
cout << sum << endl;}
}
woaiwowyj
野兽先辈
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
帮你对照了下别人的,你的函数本身应该没问题
但是调试时会出现
“5555.exe 中的 0x011613a9 处最可能的异常: 0xC00000FD: Stack overflow
5555.exe 中的 0x011613a9 处有未经处理的异常: 0xC00000FD: Stack overflow
程序“[5240] 5555.exe: 本机”已退出,返回值为 -1073741510 (0xc000013a)。”
woaiwowyj
野兽先辈
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后百度了下上述字样
得到的结论应该是“递归太多,可能引起栈溢出”
希望这个能到帮到你
http://jingyan.baidu.com/article/93f9803f0ee798e0e46f5538.html
ajsjdj
光玉幻想
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
估计是scanf安全问题。判断整数那个错了
民国王思聪
野兽先辈
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
举个例子说明你的错误,比如说n=1的时候,符合你的第二个判断,但是n是不能为1的。else if((int)n==n)
{
if(n>=2)
return n*f(n-1)
else
return 1;
}
志骏
圣启示录
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include<stdio.h>
int f(int n)
{
if(n>12)
printf("Overflow\n");
else if((int)n==n)
{
if(n>=2)
return n*f(n-1);
else
printf("Huh?\n");
}
else if(n>=0)
真的很谢谢大家! 现在基本功能能实现了!
return 1;
}
void main()
{ int n;
scanf("%d",&n);
printf("%d\n",f(n));
}
志骏
圣启示录
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
运行的时候下面带一个数字,这是什么情况
民国王思聪
野兽先辈
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
int f(int n)
{
if(n>12)
printf("Overflow\n");
else if((int)n==n)
{
if(n>=2)
return n*f(n-1);
else
printf("Huh?\n");
}
else if(n>=0)
真的很谢谢大家! 现在基本功能能实现了!
return 1;
}
我是大英雄哇哇
七影之蝶
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
悄悄的来,悄悄的走,挥一挥匕首,不留一个活口。
蒙奇D赵44
光玉幻想
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
好
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示