大知闲闲000 2023-03-13 22:51 采纳率: 72.7%
浏览 67
已结题

c语言1~100求偶数积

c语言里求1~100偶数积,我的运行结果是0,这个要怎么整呢?

img

img

  • 写回答

3条回答 默认 最新

  • allyfireshen 2023-03-13 23:14
    关注

    因为计算过程中fact超出了int类型的范围,当fact超出范围后,高位的1会被自动截掉,最后导致fact等于0;可以将fact的类型定义为double:

    #include <stdio.h>
    
    int main()
    {
           int n;
        double fact = 2;
        for (n = 4;n <= 100;n=n+2)
            fact = fact * n;
        
        
        printf("fact=%1f", fact);
       
       return 0;
    }
    
    
    

    img

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

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 3月13日