//高精度计算PI
#include <stdio.h>
#include <stdlib.h>#define max 500typedef struct Node{int data;struct Node *next,*pre;
}LHead,*LHeadPtr,Node,*NodePtr;void List_Init(LHeadPtr L){L->data = 2;L->next = L;L->pre = L;NodePtr p,q;q = L;for(int i = 1;i < max;i++){p = (NodePtr)malloc(sizeof(Node));p->data = 0;p->next = q->next;p->pre = q;q->next->pre = p;q->next = p;}}void M_D(LHeadPtr L,int zi,int mu){NodePtr p;p = L->pre;//乘法int c,d=0;for(;p != L;p=p->pre){c = p->data * zi + d;p->data = c % 10;d = c / 10;}p->data +=d;//除法d = 0;p = L;while(1){c = p->data + d * 10;p->data = c / mu;d = c % mu;p = p->next;if(p == L)break;}
}void List_Add(LHeadPtr L1,LHeadPtr L2){//加法NodePtr p,q;p = L1->pre;q = L2->pre;int c,d=0;while(1){c = p->data + q->data + d;p->data = c%10;d = c/10;p=p->pre;q=q->pre;if(p == L1->pre)break;}
}int main(){LHeadPtr s,m;s = (LHeadPtr)malloc(sizeof(LHead));m = (LHeadPtr)malloc(sizeof(LHead));List_Init(s);List_Init(m);int i = 1,j=0;while(i<2000){j = i*2+1;M_D(m,i,j);List_Add(s,m);i++;}int n;scanf("%d",&n);printf("%d.",s->data);NodePtr p = s->next;for(int i = 0;i < n;i++){printf("%d",p->data);p=p->next;}printf("\n");return 0;
}

数据结构实验1.2:高精度计算PI值相关推荐

  1. 数据结构实验1.2—高精度计算PI值(西工大)

    这是数据结构第二题的题目,是让我们根据用户的需求来计算派的值 这是题目的详细描述,刚看到这道题的时候,我是真的头大,完全没有思路,于是查找了一些大佬的笔记后才开始编写 这是我在写这些代码是所运用到的数 ...

  2. 西工大NOJ数据结构实验——1.2高精度计算PI值

    #include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> typ ...

  3. 高精度计算PI值 C语言 思路,高精度计算pi

    高精度计算PI值 题目描述 ​    使用双向链表作为存储结构,请根据用户输入的一个整数(该整数表示精确到小数点后的位数,可能要求精确到小数点后 500 位),高精度计算PI值.提示:可以利用反三角函 ...

  4. 高精度计算PI值 C语言 思路,高精度计算PI值

    高精度计算PI值 高精度计算PI值 所用公式: #include #include typedef struct list{ int data; struct list *next; struct l ...

  5. 数据结构28——高精度计算PI值

    题目:输入n,输出PI精确到小数点后n位的PI值. #include<stdio.h> #include<stdlib.h>typedef struct node {int d ...

  6. 【算法】高精度计算π(pi)值

  7. 西工大数据结构实验NOJ参考代码和分析合集

    实验1.1 合并有序数组 //001合并有序数组 #include <bits/stdc++.h> #define MAXSIZE 20 //数组的最大长度为20 typedef stru ...

  8. 高精度计算Π的值(C语言)

    题目要求 限制使用双向链表作存储结构,请根据用户输入的一个整数(该整数表示精确到小数点后的位数,可能要求精确到小数点后500位),高精度计算PI值.可以利用反三角函数幂级展开式来进行计算. 输入5 输 ...

  9. sdut 3333 数据结构实验之栈与队列六:下一较大值(二)

    数据结构实验之栈与队列六:下一较大值(二) Time Limit: 150MS Memory Limit: 8000KB Submit Statistic Discuss Problem Descri ...

  10. sdut-3332 数据结构实验之栈与队列五:下一较大值(一)

    数据结构实验之栈与队列五:下一较大值(一) Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Desc ...

最新文章

  1. 【ES6】Proxy对象
  2. Citrix运行检测出错
  3. .Net/C# 实现: FlashFXP 地址簿中站点密码的加解密算法
  4. unity3d 数学的数学基础和辅助类
  5. bash不识别命令 ssh_关于Python脚本在后台运行的几种方式!(linux,bash,tmux,等)...
  6. JS 实现2+2=5的代码 实现原理解析
  7. flutter 返回指定界面_Flutter 即学即用系列博客——04 Flutter UI 初窥
  8. mvc新增,上架及下架
  9. windows跨设备实现复制粘贴
  10. idb 怎么回复mysql_mysql中的.idb文件 怎么正常显示
  11. php入侵代码,入侵PHP网站就这么简单.pdf
  12. 努比亚Z5Smini刷机包 正式版时间锁屏 音量唤醒 精简优化 流畅稳定
  13. 玉堂金阙百度云php100,玉堂金阙(全二册)
  14. 有一种记录叫“时光轴”!
  15. 员工转正申请书_简短的员工转正申请书范文6篇
  16. oracle通信通道的文件结尾_Oracle错误——ORA-03113:通信通道的文件结尾 解决办法...
  17. 2022年哪些浏览器安全、速度快、好用又不卡?
  18. 【IEEE会议-EI稳定检索】2022年自动化机器人与计算机工程国际学术会议(ICARCE2022)
  19. teradata 查看 表定义_Teradata CREATE表
  20. addEventListener的常用事件

热门文章

  1. 《女士品茶》读书笔记
  2. 【pytest之allure测试报告使用】
  3. jQuery 常用API
  4. 将ip地址转换为点分十进制表示
  5. 详解Photoshop中标尺工具和参考线的使用方法
  6. python模拟登陆steam
  7. 打破信息茧房-我主动获取信息的方法 -#3
  8. 远程桌面的端口3389及关闭此端口
  9. OFD文件在线阅读器
  10. Linux安装deb安装包命令