generated from kenryuS/report-temp
added program and result of cls09
This commit is contained in:
@@ -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)
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user