+ -
当前位置:首页 → 问答吧 → 我想写一个分数计算程式,但唔知错啲乜

我想写一个分数计算程式,但唔知错啲乜

时间:2014-07-24

来源:互联网

int fraction(int numb);
int numerator(int numb);
#include <stdio.h>
#include <conio.h>

int main()
{
int num;

printf("请输入加至那个分母");
scanf("%d",&num);
for(int i=2;i<=num;i++)
{
printf("1/%d+",i);

}


printf("\b=%d/%d",numerator(num),fraction(num));
getch();
}




int numerator(int numb)
{
int zero=0;//如果On放在这里它的值一直继续乘下去和0一样

for(int a=2;a<=numb;a++)
{
int on=1; //当离开第二个for回圈时on值变回1
for(int b=2;b<=numb;b++)
{
if(a==b)
{
continue;
}else
{ on=on*b;
} zero=zero+on; }

return zero;
}
int fraction(int numb)
{
int one=1; for(int i=2;i<=num;i++) { one=one*i; } retrun one;}

作者: moorsirv   发布时间: 2014-07-24

有好多问题...例如段code好难明
少左个"}"
串错字...还有未知变数

作者: Susan﹏汪汪   发布时间: 2014-07-24

复制内容到剪贴板代码:#include <cstdint>
#include <iostream>
using namespace std;

void calculate(int);

int main()
{
int num;

cin >> num;

if (num == 0)
{
return 1;
}

for (int i = 2; i < num; ++i)
{
cout << "1/" << i << '+';
}
cout << "1/" << num << '=';

calculate(num);

return 0;
}

uintmax_t GCD(uintmax_t a, uintmax_t b)
{
while (b && (a %= b) && (b %= a));
return a + b;
}

uintmax_t factorial(uintmax_t a)
{
uintmax_t result = 1;

while (a) result *= a--;

return result;
}

void calculate(int num)
{
int f = (int)factorial(num), s = 0, gcd;

for (int i = 2; i <= num; ++i)
{
s += f / i;
}

gcd = (int)GCD(s, f);

cout << (s / gcd) << '/' << (f / gcd);
}

作者: Susan﹏汪汪   发布时间: 2014-07-24

哗你掂,你系男定女嚟咖

作者: moorsirv   发布时间: 2014-07-24