xbw dlnu 2021-10-11 23:40 采纳率: 100%
浏览 25
已结题

这是哪个地方出了问题啊

题目是求1!到n!的和,要求定义使用fact函数

#include<stdio.h>
double fact(int n){
int i;
double b;
if(n<0){
return 0;
}b=1;
for(i=1;i<=n;i++){
b=b*i;
}
return b;}
int main()
{
int i,a;
double sum;
scanf("%d",&a);
sum=0;
for(i=1;i<=a;i++){
sum=sum+fact(i);
}printf("sum = %d",sum);

}
#include<stdio.h>
double fact(int n){
int i;
double b;
if(n<0){
return 0;
}b=1;
for(i=1;i<=n;i++){
b=b*i;
}
return b;}
int main()
{
int i,a;
double sum;
scanf("%d",&a);
sum=0;
for(i=1;i<=a;i++){
sum=sum+fact(i);
}printf("sum = %d",sum);

}请问这个程序哪里有问题啊,改不对了

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2021-10-11 23:53
    关注

    代码没什么问题,最后输出里,sum 是double ,输出用%d 肯定不对了,改为:printf("sum = %.0f",sum);//printf("sum = %d",sum);
    另就是这个n!,这里 n 选择多大呢,13!就超出整形的范围了,虽然用了double ,也很快就超了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 修改了问题 10月11日
  • 修改了问题 10月11日
  • 展开全部

悬赏问题

  • ¥30 微信小程序蓝牙数据透传
  • ¥15 加氢站氢负荷数据集来源
  • ¥15 umi接入sentry遇到问题
  • ¥15 HBuilderX打包H5网页,扫码模块无法使用
  • ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
  • ¥15 echarts绘制图表
  • ¥15 请教两个关于高德地图定位不准的技术问题
  • ¥15 根据企业名称 对照两个文件 样本筛选/匹配
  • ¥15 Linux环境下CA证书更新问题
  • ¥15 sqlserver语句提取结果以外数据