想问一下这个有什么问题吗,想求和的阶层,但是一直求得不是正确得数,应该怎么改呢,在尽量不改源代码的前提下?
想问一下这个有什么问题吗,输出结果不对
想问一下这个有什么问题吗,想求和的阶层,但是一直求得不是正确得数,应该怎么改呢,在尽量不改源代码的前提下?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 这代码,我改了好几版:主体没变,主要是加了打印信息,把int都改成long long了。其实并没有看出你的代码有问题,最后还用计算其计算了15的阶乘。我猜有问题的会不会是你的printf语句啊?写的不是%lld,而是%d?
#include <stdio.h> #include <stdio.h> #define _DEBUG_ #ifdef _DEBUG_ #define DEBUG_INFO(format,...) printf("%s:%d : "format"\n",__func__,__LINE__,##__VA_ARGS__) #else #define DEBUG_INFO(format,...) #endif long long myfun1(long long n) { long long p = 1; long long i; for(i = 1;i <= n;i++){ p = p * i; } DEBUG_INFO("n = %lld jiecheng_%lld = %lld\n",n,n,p); return p; } long long myfun2(long long n) { long long p = 0, i; for(i = 1;i <= n;i++){ p = p + i; } DEBUG_INFO("n =%lld sum_%lld = %lld",n,n,p); return myfun1(p); } int main() { long long i = 0; long long sum = 0; DEBUG_INFO("sum = %d %lu",5,sizeof(long long)); for(i = 2;i <= 5; i++ ){ sum = sum + myfun2(i); } DEBUG_INFO("sum = %lld",sum); return 0; }
执行结果
csdn@ubuntu:~/git_learn/git_learn$ ./a.out main:34 : sum = 5 8 myfun2:27 : n =2 sum_2 = 3 myfun1:18 : n = 3 jiecheng_3 = 6 myfun2:27 : n =3 sum_3 = 6 myfun1:18 : n = 6 jiecheng_6 = 720 myfun2:27 : n =4 sum_4 = 10 myfun1:18 : n = 10 jiecheng_10 = 3628800 main:39 : sum = 3629526 csdn@ubuntu:~/git_learn/git_learn$ gcc main.c csdn@ubuntu:~/git_learn/git_learn$ ./a.out main:34 : sum = 5 8 myfun2:27 : n =2 sum_2 = 3 myfun1:18 : n = 3 jiecheng_3 = 6 myfun2:27 : n =3 sum_3 = 6 myfun1:18 : n = 6 jiecheng_6 = 720 myfun2:27 : n =4 sum_4 = 10 myfun1:18 : n = 10 jiecheng_10 = 3628800 myfun2:27 : n =5 sum_5 = 15 myfun1:18 : n = 15 jiecheng_15 = 1307674368000 main:39 : sum = 1307677997526 csdn@ubuntu:~/git_learn/git_learn$
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 Vs code Mac系统 PHP Debug调试环境配置
- ¥60 大一项目课,微信小程序
- ¥15 求视频摘要youtube和ovp数据集
- ¥15 在启动roslaunch时出现如下问题
- ¥15 汇编语言实现加减法计算器的功能
- ¥20 关于多单片机模块化的一些问题
- ¥30 seata使用出现报错,其他服务找不到seata
- ¥35 引用csv数据文件(4列1800行),通过高斯-赛德尔法拟合曲线,在选取(每五十点取1点)数据,求该数据点的曲率中心。
- ¥20 程序只发送0X01,串口助手显示不正确,配置看了没有问题115200-8-1-no,如何解决?
- ¥15 Google speech command 数据集获取