满意答案

zybehqej

推荐于 2016.09.09

采纳率:43%    等级:8

已帮助:512人

1、判断循环的关键是在确定每位小数的时候,判断余数是否出现与之前的相同。

2、例程:int repetend(                     //求循环节的函数,返回值为循环长度,共3个参数

int a,              //第一个参数为被除数

int b,              //第二个参数为除数

char *Str)       //第三个参数为用于存循环节每一位的数组指针

{int Rem[255],                   //用于存余数的整型数组

Div1=a,                       //把被除数保存下来,因为后面可能会改变被除数的值

Div2=b;                       //把除数也保存下来,因为后面可能会改变除数的值

if(a==0 or b==0) return 0; //如果被除数或者除数为0,函数返回0值

if(Div1<0) Div1=Div1*-1;   //正负并不影响求循环节,所以被除数和除数都取绝对值

if(Div2<0) Div2=Div2*-1;   //正负并不影响求循环节,所以被除数和除数都取绝对值

for(;Div1*10

/*如果被除数乘以10小于除数,就通过一个循环不断让被除数乘以10,直到被除数乘以10大于

或者等于被除数,这样可以清除掉小数点后面的0.000000这些多余的数据。*/

Rem[0]=Div1%Div2;            //第一次保存余数

for(int i=0;;i++)                    //用一个死循环检索小数点后面的每一位

{Div1=Rem[i]*10;            //每一次的被除数都为前一次余数乘以10

Str[i]=Div1/Div2;            //得到第i位小数(0为第1位,1为第2位,以此类推)

Rem[i+1]=Div1%Div2;   //保存余数

if(Rem[i+1]==0)             //不管小数点后第几位,如果余数为0,说明能除尽,不会出现循环

{Str[0]=0;                    //循环节为0

return 1;}                  //函数返回1,这是根据你题目中要求的,但我觉得应该设为0比较合理

for(int j=0;j<=i;j++)        //再用一重循环比较之前所有的余数,确定循环节起始点

if(Rem[i+1]==Rem[j])

/*判断是否出现循环的关键是判断余数是否和之前的某一次相同。如果当前余数等于之前的某一

次余数,说明开始出现循环。循环点的起点为j,终点为i,循环长度为(i-j)+1位小数,当上述判断为真时,就可以结束函数*/

{for(int k=0;k<=(i-j);k++) Str[k]=Str[j+k]; //整理循环节数组

return (i-j)+1;}                                  //函数返回循环长度

}

}

00分享举报

c语言 查找循环节起点,用C语言怎么求循环小数的循环节?相关推荐

  1. c语言for循环说课稿,C语言FOR循环说课稿.docx

    C语言FOR循环说课稿 各位评委老师上午好,我今天说课的内容是"FOR循环"(板书),下面我将从教材的地位及作用.学生学情.教学目标.教学重难点.教法.学法.教学过程.教学效果的预 ...

  2. C语言for循环的嵌套例题,c语言 for循环的嵌套(含答案)

    c语言 for循环的嵌套(含答案) 第 33.34 课时 for 循环的嵌套实验题一:1.下面程序的功能是计算:至 50 中是 7 的倍数的数值之和,请选择填空.D#include main() in ...

  3. c语言for循环嵌套经典例题,C语言 for循环的嵌套题(含解析和答案).doc

    C语言 for循环的嵌套题(含解析和答案) 第33.34课时 for循环的嵌套 实验题一: 1.下面有关for循环的正确描述是: D A) for循环只能用于循环次数已经确定的情况 B) for循环是 ...

  4. c语言程序设计循环结构实验报告,C语言程序设计实验报告选择与循环结构程序设计.doc...

    C语言程序设计实验报告选择与循环结构程序设计 学 生 实 验 报 告 学 院: 软件与通信工程学院 课程名称: C++与程序设计 专业班级: 通信121 姓 名: 学 号: 学生实验报告(2) 学生姓 ...

  5. c语言中循环结构的作用,C语言循环结构知识点

    C语言循环结构知识点 引导语:循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构.以下是百分网小编分享给大家的C语言循环结构知识点,欢迎 ...

  6. c语言构成循环结构的是,C语言循环结构选择题

    计算机二级的资料 C语言循环结构选择题 1.在C语言中,下列说明正确的是 A) 不能使用 do-while构成的循环 B) do-while构成的循环必须用break才能退出 C) do-while构 ...

  7. c语言中循环并列语句顺序,C语言第五讲,语句 顺序循环选择.

    C语言第五讲,语句 顺序循环选择. 一丶语句的简明了解 我们知道,在编写C语言程序的时候,代码是顺序执行的. 从上往下执行. 但是我们可以控制流程的. 在控制之前,我们要先熟悉什么是语句. 相比大家学 ...

  8. c语言程序设计循环结构实验报告,C语言程序设计实验报告:循环结构程序设计...

    循环结构程序设计 C语言实验报告 课程__C程序设计_实验名称_循环结构程序设计__第 页 共 页 系 别__电气工程______________________ 实 验 日 期 2010 年 4 月 ...

  9. C语言用循环结构算平均值,C语言循环结构选择题().doc

    1.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--) for (j=0;j<4;j++){...} A) 20 B) 25 C) 24 D) 3 ...

最新文章

  1. 【ssh从零单排】关于HTTP Status 404的debug问题
  2. [Abp vNext 源码分析] - 19. 多租户
  3. jupyter配置到服务器_服务器端jupyter notebook映射到本地浏览器的操作
  4. 李沐:工作五年反思!
  5. 移动端开发meta标签 viewport 设置
  6. C语言课后习题(33)
  7. 从运维角度浅谈MySQL数据库优化,中小企业DBA必会
  8. 【CVPR 2021】VarifocalNet: An IoU-aware Dense Object Detector的译读笔记
  9. c语言自己建个题库随机出题,自己建个题库随机出题 让学习效率大大提高
  10. html表格冻结原理,html表格table冻结行和列
  11. 使用clusterProfiler进行KEGG富集分析
  12. 蚂蚁金服刘伟光:我们为什么要科技开放
  13. NLP 论文领读 | 缺少有标注的数据集怎么训练文本检索模型?来看看 LaPraDoR怎么做的吧
  14. ora2pg 导出Oracle数据
  15. 腾讯云TCA运维考试题
  16. c语言字符三维数组定义时赋值,c语言中三维数组的赋值顺序?
  17. spotify歌曲下载_k表示使用Spotify歌曲功能进行聚类
  18. RroductFlavors 多渠道打包 配置不同的包名、桌面图标、引导页、java代码等
  19. 内核proc参数注释(kernel、vm、net、fs四类)
  20. matlab中cos(pi/2)和sin(pi)不等于0的解决方案

热门文章

  1. OFDM子载波频率 知乎_无线数字通信中数据速率、载波频率和带宽的关系
  2. 视频解码之软解与硬解
  3. java抽象类普通方法_Java程序员开发三年,去网易社招,竟被问到这些面试题
  4. 《学活Linux》第二讲——内核模块和驱动模型
  5. java统计每个单词单词出现的次数_统计一篇英文中每个单词出现的次数
  6. PAT乙级 1019 数字黑洞
  7. linux下载TCGA数据,如何下载TCGA数据/TCGA数据下载小教程
  8. 瓷片电容容量 102 103 104 222 223 472 473 474 是多少
  9. 任务四 机器学习库Scikit-learn
  10. js中的reduce的用法