鱼C论坛

 找回密码
 立即注册
查看: 2336|回复: 12

求解代码错误

[复制链接]
发表于 2019-10-17 09:53:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
double fact( int n )                              //这是我的其中一部代码,为什么在这个我的自定义函数里面,for循环里面i的值永远是1,但是a的值一直在变大,然后就在循环里面出不来?这是为啥?
{
        int i;
        double a=1;
        while (n>=0&&n<=10){
       
        for (i=1;i++;i<=n){
                a=a*i;
                i++;
        }
}
        return a;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-17 10:03:26 | 显示全部楼层
  for (i=1;i++;i<=n)
for循环你在好好学一遍,谁家for循环是你这样写的????
for(初始条件;结束条件;条件变化)
{
//循环体
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-17 10:10:13 | 显示全部楼层

哦,抱歉抱歉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-17 10:11:09 | 显示全部楼层

改回来也没用,在自定义函数里面。i根本不动,我调试过了,i一直都是1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-17 10:24:13 | 显示全部楼层
for (int i=0;i<=n; i++)
{

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-17 10:32:23 | 显示全部楼层

还是不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-17 10:39:34 | 显示全部楼层

可以了,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-17 10:48:57 | 显示全部楼层

What number you pass into the function when you testing it?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-17 11:35:46 | 显示全部楼层
xypmyp 发表于 2019-10-17 10:48
What number you pass into the function when you testing it?

only No.1.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-17 12:29:16 | 显示全部楼层
#include <iostream>
#include <iomanip>
long double fat(int n)
{
    long double result = 1;
    if (n < 0)
    {
        std::cout << "数字非法";
        exit(1);
    }
    if (n == 0)
    {
        result = 1;
    }
    if (n > 0)
    {
        for (size_t i = 1; i < n + 1; i++)
        {
            result *= i;
        }
    }
    return result;
}
int main(int argc, char const *argv[])
{
    int a = 0;
    while (a != 50)
    {
        std::cin >> a;
        std::cout << std::fixed<<std::setprecision(0)<< fat(a) << std::endl;
        std::cout<<std::endl;
    }
    return 0;
}
---------------------------------------------------------------------------------------------
Microsoft Windows [版本 10.0.16299.1087]
(c) 2017 Microsoft Corporation。保留所有权利。

E:\Users\86184\Documents\Code>c:\Users\86184\.vscode\extensions\ms-vscode.cpptools-0.26.0\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-neu43l3z.f4x --stdout=Microsoft-MIEngine-Out-0iqgw4w3.i2l --stderr=Microsoft-MIEngine-Error-orbrm5v5.2k3 --pid=Microsoft-MIEngine-Pid-w0g1l25q.djc "--dbgExe=E:\My Program\MinGW\bin\gdb.exe" --interpreter=mi
0
1

1
1

5
120

50
30414093201713378039796484017234741538658648106343392576177963008



E:\Users\86184\Documents\Code>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-17 14:28:29 | 显示全部楼层
bin554385863 发表于 2019-10-17 12:29
---------------------------------------------------------------------------------------------
Mic ...

50!结果是错误的
30414093201713378039796484017234741538658648106343392576177963008 - 错误
30414093201713378043612608166064768844377641568960512000000000000 - 正确
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-17 17:56:30 From FishC Mobile | 显示全部楼层
本帖最后由 bin554385863 于 2019-10-17 18:09 编辑


………
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-17 17:57:33 From FishC Mobile | 显示全部楼层
本帖最后由 bin554385863 于 2019-10-17 18:09 编辑
jackz007 发表于 2019-10-17 14:28
50!结果是错误的
30414093201713378039796484017234741538658648106343392576177963008 - 错误
30414 ...


我也不知道电脑咋算的-_-||,
我用的vscode,这玩意经常性执行异常,有时候同一个代码执行几次的结果总有一两次都不一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 16:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表