added program and result of cls09

This commit is contained in:
2026-06-16 01:56:32 +09:00
parent 03fc9322f4
commit efac9b2ffb
10 changed files with 205 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
include ../common.mk
PROJECT_NAME:=cls09
TGTS:=$(patsubst %.c,%,$(wildcard *.c))
all: $(TGTS)
%: %.c
@mkdir -p $(BUILD_PATH)/$(PROJECT_NAME)
$(CC) $(CFLAGS) $^ -o $(BUILD_PATH)/$(PROJECT_NAME)/$@
clean:
$(RM) -drf $(BUILD_PATH)/$(PROJECT_NAME)
+21
View File
@@ -0,0 +1,21 @@
#include <stdio.h>
void adjust_point(int *n) {
if (*n < 0) {
*n = 0;
} else if (*n > 100) {
*n = 100;
}
}
int main(void) {
int d = 0;
printf("Input integer: ");
scanf("%d", &d);
adjust_point(&d);
printf("Result: %d\n", d);
return 0;
}
+76
View File
@@ -0,0 +1,76 @@
#include <stdio.h>
#include <stdlib.h>
#define BUFFSZ 32
const int DAYS_IN_MONTH[12] = {
31,
28,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31
};
void increment_date(int *year, int *month, int *day) {
(*day)++;
if (*day > DAYS_IN_MONTH[*month - 1]) {
*day = 1;
(*month)++;
}
if (*month > 12) {
*month = 1;
(*year)++;
}
}
void decrement_date(int *year, int *month, int *day) {
(*day)--;
if (*day < 1) {
(*month)--;
if (*month < 1) {
*month = 12;
(*year)--;
}
*day = DAYS_IN_MONTH[*month - 1];
}
}
int main(void) {
char *buff = (char*)malloc(sizeof(char) * BUFFSZ);
int m, d, y;
printf("Input date in mm/dd/yyyy: ");
fgets(buff, BUFFSZ, stdin);
sscanf(buff, "%d/%d/%d", &m, &d, &y);
char opr_in;
while (1) {
printf("Select operation [+/-]: ");
opr_in = getc(stdin);
if (opr_in == '+') {
increment_date(&y, &m, &d);
printf("Tomorrow is %02d/%02d/%4d\n", m, d, y);
break;
} else if (opr_in == '-') {
decrement_date(&y, &m, &d);
printf("Yesterday was %02d/%02d/%4d\n", m, d, y);
break;
} else {
printf("Error: Please input correct operation mode.\n");
}
}
return 0;
}
+26
View File
@@ -0,0 +1,26 @@
#include <stdio.h>
void swap(int *a, int *b) {
int t = *a;
*a = *b;
*b = t;
}
void sort3(int *x, int *y, int *z) {
if (*x > *y) swap(x, y);
if (*y > *z) swap(y, z);
if (*x > *y) swap(x, y);
}
int main(void) {
int a,b,c;
printf("Input 3 integers separated by ',': ");
scanf("%d,%d,%d", &a, &b, &c);
sort3(&a, &b, &c);
printf("Result: %d, %d, %d\n", a, b, c);
return 0;
}