在c编程中,当我将2个数字分成2/4时,它给出输出0.5,但我想要1/2。所以我想知道如何执行除法以获得分数,如分子/分母。我想用C。
答案 0 :(得分:0)
C没有内置的那种能力。但是,你可以做的是,写一个小函数,它取小数值(在你的情况下为0.5)并返回你想要的形式的分数(即1/2) )。
但请记住,1/2不是数字;它是一个字符串(char数组)。因此,您只能将它用于显示/打印目的;你不能在算术表达式中使用。
答案 1 :(得分:0)
#include <iostream>
#include <string>
long GreatestCommonMultiple(long& a, long& b);
std::string SimplifyThis(long& a, long& b);
int main(int argC, char** argV)
{
long n1 = 3;
long n2 = 21;
std::cout << "This as simplified fraction: " << n1 << "/" << n2 << " is "<<SimplifyThis(n1, n2)<<std::endl;
return 0;
}
std::string SimplifyThis(long& a, long& b) {
long gcm1 = GreatestCommonMultiple(a, b);
return std::to_string(a / gcm1) + "/" + std::to_string(b / gcm1);
}
long GreatestCommonMultiple(long& a, long& b) {
if (b==0)
{
return a;
}
long x = (a % b);
return GreatestCommonMultiple(b, x);
}
答案 2 :(得分:0)