如何在C++中把分数形式的数赋给一个变量

img

字符串输入分数,然后用sscanf这个函数获得分子分母两个数(sscanf(str,"%d/%d", x1, y1)),取最小公倍数再约分,最后sprintf输出,思路大概就是这样,就不提供代码了

可以用double类型,比如3/2可以写成
double a = (double)3/2;
参考如下代码:

#include <stdio.h>
int main()
{
    int n,i;
    double* p,a,b;
    scanf("%d",&n); //先获取n的值
    p = (double*)malloc(sizeof(double)*n);
    for (i = 0;i<n;i++)
    {
        scanf("%lf/%lf",&a,&b);
        p[i] = a/b; //如2/3
    }

    free(p);
    p = 0;
    return 0;
}