#include <stdio.h>
#define N_STUDENTS 4
typedef struct student_info {
char name[10];
int height;
float weight;
} student_info;
int mystrlen(const unsigned char* ch) {
int i;
for (i = 0; ch[i] != '\0'; i++);
return i;
}
int mystrcmp(const unsigned char* str1, const unsigned char* str2) { // ²À unsigned ·Î Àû¾îÁà¾ä
int len1 = mystrlen(str1);
int len2 = mystrlen(str2);
//printf("%d %d\n", len1, len2);
int len = len1 > len2 ? len1 : len2;
for (int i = 0; i < len; i++) {
if (str1[i] > str2[i]) return 1;
if (str1[i] < str2[i]) return -1;
}
return 0;
}
void sort(student_info *s) {
student_info temp;
for (int i = 0; i < N_STUDENTS - 1; i++) {
for (int j = 0; j < N_STUDENTS - 1 - i; j++) {
if (strcmp(s[j].name, s[j + 1].name) > 0) {
temp = s[j];
s[j] = s[j + 1];
s[j + 1] = temp;
}
}
}
}
void print(student_info* s) {
for (int i = 0; i < N_STUDENTS; i++) {
printf("%s %d %f\n", s[i].name, s[i].height, s[i].weight);
}
}
void mystrcpy(char* str1, char* str2) {
int i;
for (i = 0; str2[i] != '\0'; i++) {
str1[i] = str2[i];
}
str1[i] = '\0';
}
void mystrcat(char* str1, char* str2) {
int len1 = mystrlen(str1);
int len2 = mystrlen(str2);
for (int j = 0; j < len2; j++) {
str1[len1 + j] = str2[j];
}
str1[len1 + len2] = '\0';
}
int main() {
printf("ȣȣȣ - ȣȣȣ = ");
printf("%d\n", mystrcmp("ȣȣȣ", "ȣȣȣ"));
printf("ÇÏÇÏÇÏ - ÇÏÇÏ = ");
printf("%d\n", mystrcmp("ÇÏÇÏÇÏ", "ÇÏÇÏ"));
printf("ÇÏÇÏÇÏ - ÇÏÇÏÇÏÇÏ = ");
printf("%d\n", mystrcmp("ÇÏÇÏÇÏ", "ÇÏÇÏÇÏÇÏ"));
printf("ȣȣȣ - ¾È³ç = ");
printf("%d\n", mystrcmp("ȣȣȣ", "¾È³ç"));
student_info students[N_STUDENTS] = {
{"À̼ø½Å", 172, 83.4},
{"È«±æµ¿", 167, 72.5},
{"±èÀ¯½Å", 159, 70.8},
{"À¯°ü¼ø", 163, 58.4}
};
printf("========================\n");
print(students);
printf("========================\n");
sort(students);
print(students);
printf("========================\n");
char* sOrigin = "Hello, C Programming!";
char new[100];
printf("¿øº» ¹®ÀÚ¿: %s\n", sOrigin);
mystrcpy(new, sOrigin);
printf("º¹»çµÈ ¹®ÀÚ¿ %s\n", new);
mystrcpy(new, "¾È³çÇϼ¼¿ä.");
printf("´Ù¸¥ ¹®ÀÚ¿ º¹»ç: %s\n", new);
printf("=====================================\n");
char str1[100] = "hello";
char* str2 = ", C Programming";
printf("strcat(%s,%s)=>", str1, str2);
mystrcat(str1, str2);
printf("%s\n", str1);
}


Çлý½Ç½À °Ô½ÃÆÇ