2401_84797855 2024-07-24 12:44 采纳率: 41.7%
浏览 1
已结题

输入较小的数字可行,这代码有什么问题吗?

```

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int aa[99999];
int main()
{
long long int n,j,m=1;
memset(aa,0,sizeof(aa));
aa[0]=1;
scanf("%d",&n);
for(int i=1;i<=n;i++){
int t=0;
for(j=0;j<m;j++){
aa[j]=aa[j]*i+t;
t=aa[j]/10;
aa[j]=aa[j]%10;}
if(t>0){
aa[m++]=t;
}}
for(int i=m-1;i>=0;i--){
printf("%d",aa[i]);
}
return 0;
}

```这个代码有什么问题

  • 写回答

4条回答 默认 最新

  • 2401_84797855 2024-07-24 13:29
    关注
    
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<math.h>
    int aa[999999];
    int main()
    {
        long long int n,j,m=1;
        memset(aa,0,sizeof(aa));
        aa[0]=1;
        scanf("%lld",&n);
        for(int i=1;i<=n;i++){
                int t=0;
            for(j=0;j<m;j++){
                aa[j]=aa[j]*i+t;
                t=aa[j]/10;
                aa[j]=aa[j]%10;
                if(t>0&&j>=m-1){
                    m++;
                }}}
        for(int i=m-1;i>=0;i--){
            printf("%d",aa[i]);
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月24日
  • 已采纳回答 7月24日
  • 创建了问题 7月24日

悬赏问题

  • ¥15 freertos下使用外部中断失效
  • ¥15 输入的char字符转为int类型,不是对应的ascall码,如何才能使之转换为对应ascall码?或者使输入的char字符可以正常与其他字符比较?
  • ¥15 devserver配置完 启动服务 无法访问static上的资源
  • ¥15 解决websocket跟c#客户端通信
  • ¥30 Python调用dll文件输出Nan重置dll状态
  • ¥15 浮动div的高度控制问题。
  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论