鱼C论坛

 找回密码
 立即注册
查看: 2227|回复: 1

c++ 高精度乘单精度

[复制链接]
发表于 2021-5-15 23:30:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
c++高精度乘单精度
#include <bits/stdc++.h>
using namespace std;
string st;
int x,i,len,m;
int a[100];
int main(){
        cin>>st>>x;
        len=st.size();
        for(i=0;i<len;i++){
                a[i]=st[i]-'0';
        }
        for( i=0;i<len;i++){
                a[i]*=x;
        }
        for( i=0;i<len;i++){
                a[i+1] += a[i]/10;
                a[i]%=10;
        }
        while(a[len]){
                a[len+1] += a[len]/10;
                a[len]%=10;
                len++;
        }
        m=a[len+1];
        while(m){
                a[len++]=m%10;
                m=m/10;
        }
//        for(i=0;i<len;i++){
//                cout<<a[i];
//        }
        for(i=len-1;i>=0;i--){
                cout<<a[i];
        }
        
    return 0;
}
当输入20和3时,
输出了06.
求解决办法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-16 21:37:42 | 显示全部楼层
看了半天没看懂你想干什么...
你的程序到底要实现什么功能呢?
就你代码我说一下吧
        cin >> st >> x;
        len = st.size();
        for(i = 0; i < len; i++)
        {
                a[i] = st[i] - '0';
        }
        for( i = 0; i < len; i++)
        {
                a[i] *= x;
        }
        for( i = 0; i < len; i++)
        {        //这里开始我就没看懂了   难道你是想进位?  但是进位应该是低位进高位,没听说是高位进低位的啊
                a[i + 1] += a[i] / 10;
                a[i] %= 10;
        }
        while(a[len])//这里就更奇怪了,你有值的下标只到 len - 1,难道是因为进位?进位就不会是往低位
        {
                a[len + 1] += a[len] / 10;
                a[len] %= 10;
                len++;
        }
        //这我就又没看懂了,上面进位已经执行完了,为什么还要往后
        //这是得亏你上面进位没完成要是我输入100位数,你这直接就崩溃了都
        m = a[len + 1];
        while(m)
        {
                a[len++] = m % 10;
                m = m / 10;
        }
//        for(i=0;i<len;i++){
//                cout<<a[i];
//        }
        //你这又从后向前打印,那可不就是输出06么
        for(i = len - 1; i >= 0; i--)
        {
                cout << a[i];
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 11:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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