2012年5月14日星期一

learning c-ch07



#include<stdio.h>

struct rational{double z,m;};

int main(void){
struct rational addr(struct rational a,struct rational b);
struct rational subr(struct rational a,struct rational b);
struct rational mulr(struct rational a,struct rational b);
struct rational divr(struct rational a,struct rational b);
void print(struct rational r);
struct rational a={1,2};
struct rational b={3,4};
print(addr(a,b));
print(subr(a,b));
print(mulr(a,b));
print(divr(a,b));
}

struct rational addr(struct rational a,struct rational b){
struct rational c;
c.z = a.z*b.m+b.z*a.m;
c.m = a.m*b.m;
return c;
}

struct rational subr(struct rational a,struct rational b){
    struct rational c;
    c.z = a.z*b.m-b.z*a.m;
    c.m = a.m*b.m;
    return c;
}

struct rational mulr(struct rational a,struct rational b){
    struct rational c;
    c.z = a.z*b.z;
    c.m = a.m*b.m;
    return c;
}

struct rational divr(struct rational a,struct rational b){
    struct rational c;
    c.z = a.z*b.m;
    c.m = a.m*b.z;
    return c;
}

void print(struct rational r){
printf("%f,%f\n",r.z,r.m);
}

没有评论:

发表评论