LikeHash 2022-11-19 15:25 采纳率: 100%
浏览 0
已结题

字符串乘法转换程序在某未知测试点失败

img


#include<stdio.h>
int main(){
    int n,m,k;
    k=0;
    scanf("%d",&n);
    char a[n];scanf("%s",a);
    scanf("%d",&m);
    char b[m];scanf("%s",b);
    int c[100]={0};
    for(int i=0;i<n/2;i++){
        int k=a[i];
        a[i]=a[n-1-i];
        a[n-1-i]=k;
    }
        for(int i=0;i<m/2;i++){
        int k=b[i];
        b[i]=b[m-1-i];
        b[m-1-i]=k;
    }
    for(int i=0;i<n;i++)
    for(int t=0;t<m;t++){
        c[i+t+1]+=((c[i+t]+(a[i]-'0')*(b[t]-'0'))/10);
        c[i+t]=(c[i+t]+(a[i]-'0')*(b[t]-'0'))%10;
    }
    int e=n+m;
    if(c[n+m-1]!=0)e=e+1;
    char f[e];
    for(int i=0;i<e-1;i++){
        f[i]=c[e-i-2]+'0';
    }
    printf("%s",f);
    
    return 0;
} 
  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-11-19 23:51
    关注

    修改如下,供参考:

    #include <stdio.h>
    #define N 21
    int main()
    {
        int i,j, n,m,k,c[100]={0};
        char a[N],b[N],f[N+N];
        k=0;
        scanf("%d",&n);
        scanf("%s",a);
    
        scanf("%d",&m);
        scanf("%s",b);
    
        for(i=0;i < n / 2;i++){//修改
            k=a[i];
            a[i]=a[n-1-i];
            a[n-1-i]=k;
        }
        for(i=0;i < m / 2;i++){//修改
            k=b[i];
            b[i]=b[m-1-i];
            b[m-1-i]=k;
        }
        for(i=0;i < n;i++)
        {
            for(j=0;j < m;j++)
            {
                c[i+j] += (a[i]-'0')*(b[j]-'0');
                if(c[i+j] >= 10) //进位处理
                {
                    c[i+j+1] += c[i+j] / 10;
                    c[i+j] %= 10;
                }
            }
        }
            //t=((c[i+t]+(a[i]-'0')*(b[t]-'0'))/10);
            //c[i+t]=(c[i+t]+(a[i]-'0')*(b[t]-'0'))%10;
            //}
        int e=n+m;
        if(c[e-1]==0) e=e-1;//修改 if(c[n+m-1]!=0)e=e+1;
        for(i=0;i<e;i++){
            f[i] = c[e-i-1]+'0';
        }
        f[i] = '\0';  //修改
        printf("%s",f);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月20日
  • 创建了问题 11月19日

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应