c - 在 C 中读取分数

c - 在 C 中读取分数

好吧。我有一个不同的方法。使用strtolwhich 将为您返回一个指向您添加 1 并strtol在下半场再次调用的“/”的指针。

这是第一个答案的两倍,是第二个答案的一半。:)

#include

#include

int main(){

char *f = " 12/7 ";

char *s;

long n,d;

n = strtol(f, &s, 10);

d = strtol(s+1, NULL, 10);

printf(" %ld/%ld \n", n, d);

return 0;

}

要回答您的其余问题,如果它是一个分数,您肯定需要 2 个变量。如果您可以在内部使用浮点并且分数只是用户输入的一个很好的功能,那么您可以继续将它们除以并将数字存储在一个变量中。

double v;

v = (double)n / d;

强制转换double为对两个整数进行浮点除法。

另一方面,如果您要处理很多分数,您可能需要创建一个结构来保存它们(如果您愿意,可以使用object)。

struct frac {

long num;

long den;

};

struct frac f = { 12, 7 };

printf("%ld/%ld\n", f.num, f.den);

相关内容

蘑菇街怎么测脸型
365提款需要多久

蘑菇街怎么测脸型

⌛ 08-08 👁️ 2751
滴滴审核需要多久时间
365账号被限制什么原因

滴滴审核需要多久时间

⌛ 06-27 👁️ 883
系统之家哪个win7好用?系统之家win7系统点评
365娱乐场体育投注

系统之家哪个win7好用?系统之家win7系统点评

⌛ 07-15 👁️ 2638