added programs

This commit is contained in:
2025-05-21 22:41:44 +09:00
parent ff77070655
commit 3ede55482f
7 changed files with 115 additions and 64 deletions

10
programs/p310/info.json Normal file
View File

@@ -0,0 +1,10 @@
{
"language": "C",
"name": "演習 3-10",
"description": "3つの整数値の等価検証プログラム。",
"output": {
"type": "screenshot",
"content": "./assets/p310.png"
},
"note": ""
}

BIN
programs/p310/main Executable file

Binary file not shown.

69
programs/p310/main.c Normal file
View File

@@ -0,0 +1,69 @@
#include <stdio.h>
#define NON_EQUAL 0
#define ONE_EQUAL 1
#define ALL_EQUAL 2
#ifndef USE_ALT
int main(void) {
int a, b, c;
printf("Int A: ");
scanf("%d", &a);
printf("Int B: ");
scanf("%d", &b);
printf("Int C: ");
scanf("%d", &c);
if (a == b && a == c) {
printf("All three values are equal.\n");
} else if (a != b && a == c) {
printf("Two values are equal.\n");
} else if (a != c && a == b) {
printf("Two values are equal.\n");
} else if (b == c) {
printf("Two values are equal.\n");
} else {
printf("All three values are different.\n");
}
return 0;
}
#endif // !(defined(USE_ALT))
#ifdef USE_ALT
// alternetive answer
int main(void) {
int flag = 0; // remember, boolean in C is just integer
int a, b, c;
printf("Int A: ");
scanf("%d", &a);
printf("Int B: ");
scanf("%d", &b);
printf("Int C: ");
scanf("%d", &c);
flag += a == b;
flag += a == c;
if (flag != ALL_EQUAL) {
flag += b == c;
}
if (flag == NON_EQUAL) {
printf("All three values are different.\n");
} else if (flag == ONE_EQUAL) {
printf("Two values are equal.\n");
} else {
printf("All three values are equal.\n");
}
return 0;
}
#endif // defined(USE_ALT)