Discuz! Board

 找回密码
 立即注册
查看: 545|回复: 0

作业

[复制链接]

51

主题

54

帖子

8724

积分

论坛元老

Rank: 8Rank: 8

积分
8724

大牙狸 Lv:12
发表于 2023-3-26 15:39:01 | 显示全部楼层 |阅读模式
#include<bits/stdc++.h>
using namespace std;
int main()
{
    char a[1000],b[1000];
    int a1[1000]={0},b1[1000]={0},c1[2001]={0};
    cin>>a>>b;
    int len_a=strlen(a);//求长度
    int len_b=strlen(b);
    int jw=0;

     
    for(int i=len_a-1;i>=0;i--)//反向取值  变整数
    {
        a1[len_a-1-i]=a[i]-'0';
    }
     
    for(int i=len_b-1;i>=0;i--)
    {
        b1[len_b-1-i]=b[i]-'0';
    }
     
    for(int i=0;i<len_a;i++)//乘法计算
    for(int j=0;j<len_b;j++)
    {
        c1[i+j]+=a1[i]*b1[j];
        c1[i+j+1]+=(c1[i+j]/10);
        c1[i+j]=c1[i+j]%10;
    }
     
    int flag=1;
    for(int i=len_a+len_b;i>=0;i--)//倒序输出
    {
        if((flag==1)&&c1[i]==0){}
        else
        {cout<<c1[i];
        flag=0;
        }  
    }
    if(flag==1) cout<<0;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-5-30 12:26 , Processed in 0.062964 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表