#3
by かずま » 8年前
式で簡単に書けます。比較は 2回で十分です。
コード:
#include <stdio.h>
#define min3(a, b, c) ((a) < (b) ? (a) < (c) ? (a) : (c) \
: (b) < (c) ? (b) : (c))
int main(void)
{
int res1 = min3(1, 2, 3);
int res2 = min3(1, 3, 2);
int res3 = min3(2, 1, 3);
int res4 = min3(2, 3, 1);
int res5 = min3(3, 1, 2);
int res6 = min3(3, 2, 1);
printf("%d %d %d %d %d %d\n", res1, res2, res3, res4, res5, res6);
return 0;
}
テストは、できればすべての場合を尽くしましょう。
式で簡単に書けます。比較は 2回で十分です。
[code=c]
#include <stdio.h>
#define min3(a, b, c) ((a) < (b) ? (a) < (c) ? (a) : (c) \
: (b) < (c) ? (b) : (c))
int main(void)
{
int res1 = min3(1, 2, 3);
int res2 = min3(1, 3, 2);
int res3 = min3(2, 1, 3);
int res4 = min3(2, 3, 1);
int res5 = min3(3, 1, 2);
int res6 = min3(3, 2, 1);
printf("%d %d %d %d %d %d\n", res1, res2, res3, res4, res5, res6);
return 0;
}
[/code]
テストは、できればすべての場合を尽くしましょう。