鱼C论坛

 找回密码
 立即注册
查看: 1185|回复: 1

新手。。求指教。。

[复制链接]
发表于 2015-8-22 14:30:19 | 显示全部楼层 |阅读模式

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

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

x
刚编的程序。。看了几遍也不知道错在哪里。。
问题是求  2的阶乘与3的阶乘的和
#include <stdio.h>
long square(int a);
long factorial(int b);
int main()
{
   
    long s;
    s=factorial(square(2))+factorial(square(3));
    printf(" %ld",s);
}

int square(int a)
{
    a*=a;
    return a;

}
int factorial(int b)
{
    int c=1;
    while(b--)
    {
        c*=b;
   
    }
return c;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-8-22 18:12:02 | 显示全部楼层
本帖最后由 哥斯拉不说话 于 2015-8-22 18:13 编辑

1. 为什么要写一个 square() 函数?
2. while(b--) 一句,当 b 为 1 时,b-- 为 1,然后 b-1,b 为 0, c *= b; 肯定为 0
  1. #include <stdio.h>

  2. long factorial(int b);

  3. int main()
  4. {
  5.     long s;
  6.        
  7.     s = factorial(2) + factorial(3);
  8.     printf("%ld\n", s);
  9.        
  10.     return 0;
  11. }

  12. long factorial(int b)
  13. {
  14.     int c=1;
  15.        
  16.     for(; b>1; b--)
  17.         c *= b;
  18.        
  19.     return c;
  20. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-20 21:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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