#include <cstdio>
char *str_or(char *s, const char *s1, const char *s2) {
for (int i=0; i<7; i++)
s[i] = s1[i] | s2[i];
return s;
}
char *str_and(char *s, const char *s1, const char *s2) {
for (int i=0; i<7; i++)
s[i] = s1[i] & s2[i];
return s;
}
int main(int argc, char **argv) {
char nengou[][7] = { "明治", "大正", "昭和", "平成", "令和"};
char str[7];
printf("二つの年号を or 。\n");
for (int i1=0; i1<4; i1++) {
for (int i2=i1+1; i2<5; i2++) {
str_or(str, nengou[i1], nengou[i2]);
printf("%s | %s = %s\n", nengou[i1], nengou[i2], str);
}
}
printf("\n");
printf("二つの年号を and 。\n");
for (int i1=0; i1<4; i1++) {
for (int i2=i1+1; i2<5; i2++) {
str_and(str, nengou[i1], nengou[i2]);
printf("%s | %s = %s\n", nengou[i1], nengou[i2], str);
}
}
return 0;
}
二つの年号を or 。
明治 | 大正 = 缯濻
明治 | 昭和 = 是粿
明治 | 平成 = 繿溻
明治 | 令和 = 滮粿
大正 | 昭和 = 缯翯
大正 | 平成 = 彷歳
大正 | 令和 = 忧翯
昭和 | 平成 = 繿皜
昭和 | 令和 = 滭和
平成 | 令和 = 廷皜
二つの年号を and 。
明治 | 大正 = 䀆栣
明治 | 昭和 = 昌䒈
明治 | 平成 = 䘂怐
明治 | 令和 = 䘄䒈
大正 | 昭和 = 䀥䀀
大正 | 平成 = 堣戀
大正 | 令和 = 䠤䀀
昭和 | 平成 = 䘡䀀
昭和 | 令和 = 䘤和
平成 | 令和 = 习䀀