目前共有2篇帖子。 內容轉換:不轉換▼
 
點擊 回復
173 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)
 

本帖信息

點擊數:173 回複數:1
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2016-4-16 20:48
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。