作者共发了2篇帖子。 内容转换:不转换▼
 
点击 回复
242 1
【试题】复数运算
一派护法 十九级
1楼 发表于:2016-3-4 09:28
#include <stdio.h>
#include <stdlib.h>

typedef struct
{
    float a;
    float b;
} COMPLEX;

COMPLEX *comp_add(COMPLEX *a, COMPLEX *b)
{
    a->a += b->a;
    a->b += b->b;
    return a;
}

COMPLEX *comp_substract(COMPLEX *a, COMPLEX *b)
{
    a->a -= b->a;
    a->b -= b->b;
    return a;
}

COMPLEX *comp_multiply(COMPLEX *a, COMPLEX *b)
{
    COMPLEX *c = (COMPLEX *)malloc(sizeof(COMPLEX));
    c->a = a->a * b->a - a->b * b->b;
    c->b = a->b * b->a + a->a * b->b;
    *a = *c;
    free(c);
    return a;
}

COMPLEX *comp_divide(COMPLEX *a, COMPLEX *b)
{
    COMPLEX c = *b;
    c.b = -c.b;
    comp_multiply(a, &c);
    comp_multiply(b, &c);
    a->a /= b->a;
    a->b /= b->a;
    return a;
}

int main()
{
    COMPLEX a, b;
    char opr;
    scanf("%c%f%f%f%f", &opr, &a.a, &a.b, &b.a, &b.b);
    switch (opr)
    {
    case '-':
        comp_substract(&a, &b);
        break;
    case '*':
        comp_multiply(&a, &b);
        break;
    case '/':
        comp_divide(&a, &b);
        break;
    default:
    case '+':
        comp_add(&a, &b);
        break;
    }
    printf("%.2f+%.2fi\n", a.a, a.b);
    return 0;
}
一派护法 十九级
2楼 发表于:2016-4-16 20:48
提交时间  04-16 20:49   评测结果  正确  
得分  100  

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:242 回复数:1
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2016-4-16 20:48
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。