绝坊 2021-01-25 11:01 采纳率: 66.7%
浏览 33
已结题

各位大牛,为啥这阶乘一到15之后都是错的呢?

题目:计算n的阶乘尾部零的个数
#include<stdio.h>
int main()
{
    int t,sum=1,i,j,r,num=0;
    scanf("%d",&t);//输入一个数
    for(i=1;i<t+1;i++)
    {
        sum=sum*i;
     } //求阶乘sum
     printf("%d\n",sum);
     for(j=10;;j*=10)
     { 
     r=sum%j;
     if(r==0)
     num++;
     else
     break;
    }
    printf("%d\n",num);
    return 0;
}

  • 写回答

6条回答 默认 最新

  • 泡视界 2021-01-25 11:15
    关注

    超出 int 类型的数值范围,数据就变成 负数了。

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月30日

悬赏问题

  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥20 OPENVPN连接问题