白嫖党联盟

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 147|回复: 0

高精度算法问题

[复制链接]

8

主题

11

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2023-10-14 19:44:00 | 显示全部楼层 |阅读模式
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main(){
char a1[100],b1[100];
int a[100],b[100],c[100],lena, lenb,lenc,x,i;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
gets(a1);
gets(b1);
lena=strlen(a1);
lenb=strlen(b1);
for(i=0;i<=lena-1;i++) a[lena-i]=a1-48;
for(i=0;i<=lenb-1;i++) b[lenb-i]=b1-48;
lenc=1;   //这里为什么等于1啊,可不可以等于0.这看不懂
x=0;
while(lenc<=lena || lenc<=lenb)  //while循环后边就有点看不懂了。。。有大佬可以解析下吗
{
c[lenc]=a[lenc]+b[lenb]+x; //不应a[0] 加 b[0] 所以难道不应该lenc从0开始?
x=c[lenc]/10;
c[lenc]%10=10;
lenc++;
}
c[lenc]=x;
if(c[lenc]==0)
lenc--;
for(i=lenc;i>=1;i--)
cout<<c;
cout<<endl;
return 0;
}
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|白嫖党联盟 ( 吉ICP备2022001240号 )

GMT+8, 2024-9-22 01:24 , Processed in 0.053318 second(s), 19 queries .

Powered by Discuz! X3.4

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

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