大数乘除法含小数C++(求助帖)

程序设计涉及整数和实数运算,使用链表存储数字,处理负数、小数点和精度问题,以及错误检查。展示了乘法和除法操作的具体实现和输出格式要求。
摘要由CSDN通过智能技术生成

题目描述

设计一个程序实现两个任意长的整数(包括正数和负数)、任意精度实数的乘除运算,其中以“-”号开头的为负数。

输入

第一行为一个数字n,表示待计算的组数。接下来为3n行内容,每组内容有3行,第一行表示做乘法还是除法,第二、三行为两个数字,每次取一组内容来计算。

输出

共有n行,每行要换行,小数未尾不保留0,若小数点后都为0,则不要小数点。

小数结果末尾最多保留10位小数,四舍五入,除数绝对值小于10^(-6)则报ERROR。

一次样例输入

3

*

12,345,678,901,234,567,898,123,456,789,012,345,678,981,234,567,890

12,345,678,981,234,567,898,123,456,789,012,345,678,981,234,567,890

/

1,234.567890123456789812

0.0000000000123

/

66,666,666,666,666,666,666,666,666,666,666.6666666666

-2

一次样例输出

152,415,787,532,388,367,504,953,515,625,666,819,450,083,828,733,757,049,236,500,533,455,762,536,198,787,501,905,199,875,019,052,100

ERROR

-33,333,333,333,333,333,333,333,333,333,333.3333333333

#include <bits/stdc++.h>
using namespace std;
struct Node
{
    int data;
    Node *next;
    Node():next(nullptr){}
    Node (int data):data(data),next(nullptr){}
    Node (const Node &temp):data(temp.data),next(nullptr){}
};
class LinkList
{
public:
    Node *head;
    int length = 0;

    LinkList()
    {
        head = new Node();
    }
    ~LinkList()
    {
        while(head != nullptr)
        {
            Node *p = head->next;
            free(head);
            head = p;
        }
    }
    void insert(const Node &cache)
    {
        Node *temp = new Node(cache);
        temp->next = head-&
  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值