快乐王子146 2021-11-25 11:26 采纳率: 100%
浏览 25
已结题

想请教一下这个编程哪里出问题了,怎么修改

c语言 精确计算问题程序,C语言计算分数的精确值

#include<stdio.h>
#define N 100
int main()
{
int i,l,b,flag;
float m,n;
flag = 0;
l = 0;
int num[N] = {0}; //存放小数
int a[N] = {0}; //存放某一个数重复时所在的位数
float x;
printf("please input a fraction (m/n)) (0< m< n<=100):");
scanf("%f/%f",&m,&n);
x = m / n;
for(i = 0;i < N && num[i] != 0;i ++)
{
x = x * 10;
num[i] =(int)x % 10;
} //将商放入数组
for(i = 0;i < N && num[i] != 0 &&flag == 0;i ++)
{
for(b = i + 1;b < n && num[b] != 0;b ++)
{
if(num[b] == num[i])
{
a[l] = b;
l ++;
if(l >= 3)
{
flag = 1;
}
}
}
} //判断该商某一位与后面数是否相同,并将相同数的位数储存
if(a[0] == a[1] - a[0] && a[0] == a[2] - a[1]) //判断是否循环
{
printf("%d/%d it's accuracy value is:0.",m,n);
for(i = 0;i < a[0];i ++)
{
printf("%d",num[i]);
}
printf("\n\tand it is a infinite cyclic fraction from %d\n",a[0]);
printf("\tdigit to %d digit after decimal point.\n",a[0]);
} //打印出结果

}

  • 写回答

1条回答 默认 最新

  • 小鸡,啄米 2021-11-25 11:32
    关注

    我不知道你执行器那边怎么写的格式啊,如果和这复制的一样,这格式问题就跑不起来,先把格式调整一下吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月25日

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据