[C]白俊2581号-第四点-


質問する

コード#コード#
#include <stdio.h>	

int main(void) {
	int arr[3][2];
	for (int i = 0; i < 3; i++)
		scanf("%d %d", &arr[i][0], &arr[i][1]);
	printf("%d %d", arr[0][0] == arr[1][0] ? arr[2][0] : (arr[0][0] == arr[2][0] ? arr[1][0] : (arr[1][0] == arr[2][0] ? arr[0][0] : arr[2][0])), arr[0][1] == arr[1][1] ? arr[2][1] : (arr[0][1] == arr[2][1] ? arr[1][1] : (arr[1][1] == arr[2][1] ? arr[0][1] : arr[2][1])));
}
おしゃべり
これは汚いコードです.模範文の答えを見て、彼はビット演算子を使っていることに気づいた.ビット演算子はまだよく使われていないので,認知ビット演算子を使う方法はまったく考えられなかった.
#include <stdio.h>	

int main(void) {
	int arr[3][2];
	int x, y;
	for (int i = 0; i < 3; i++)
		scanf("%d %d", &arr[i][0], &arr[i][1]);
	x = arr[0][0] ^ arr[1][0] ^ arr[2][0]; 
	y = arr[0][1] ^ arr[1][1] ^ arr[2][1];
	printf("%d %d", x, y);
}
ビット演算子を使用すると、よりきれいになります.問題を解決する際には、ビット演算子も考慮すべきです.