컴프 과제 6
문제 1번
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>
int perform(int* p1, int* p2, int* p3);
int main() {
int a=0, b=0, c=0;
printf("Enter three numbers :");
scanf("%d %d %d", &a, &b, &c);
printf("Before: a = %d, b = %d, c = %d\n", a, b, c);
perform(&a, &b, &c);
return 0;
}
int perform(int* p1, int* p2, int* p3) {
int multi = 0 ;
(*p1)++;
multi = (*p2) * (*p3);
(*p2) = (*p3);
(*p3) = multi;
printf("After: a = %d, b = %d, c = %d", *p1, *p2, *p3);
return 0;
}
문제 2번
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>
int compare(char* str1, char* str2);
int main(void) {
char string1[80];
char string2[80];
int result = 0;
printf("Enter two strings:");
scanf("%s %s", string1, string2);
result = compare(string1, string2);
if (result) printf("%s and %s are equal", string1, string2);
else printf("%s and %s are not equal", string1, string2);
return 0;
}
int compare(char* str1, char* str2) {
for (; *str1 == *str2; str1++, str2++) {
if (*str1 == 0 && *str2 == 0) return 1;
}
return 0;
}
문제3
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>
int strconcat(char* str1, char* str2);
int main() {
char string1[80];
char string2[80];
printf("Enter two strings:");
scanf("%s %s", string1, string2);
strconcat(string1, string2);
printf("%s", string1);
return 0;
}
int strconcat(char* str1, char* str2) {
while (*str1 != '\0') { str1++; }
while (*str2 != '\0') {
*str1 = *str2;
str1++;
str2++;
}
*str1 = '\0';
return 0;
}
문제 4번
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>
int add(int a, int b) { return a + b; }
int sub(int a, int b) { return a - b; }
int mul(int a, int b) {return a * b;}
int main(void) {
int a = 0, b = 0;
int (*func[3])(int, int) = { add, sub, mul };
int op = 0;
while (1) {
printf("0. Addition\n1. Subtraction\n2. Multiplication\n3. End\n");
printf("select the operation: ");
scanf("%d", &op);
if (op != 3) {
printf("Enter two numbers: ");
scanf("%d %d", &a, &b);
if (op == 0) printf("%d + %d = %d\n", a, b, func[op](a, b));
else if (op == 1) printf("%d - %d = %d\n", a, b, func[op](a, b));
else printf("%d * %d = %d\n", a, b, func[op](a, b));
}
else {
break;
}
}
}
Author And Source
이 문제에 관하여(컴프 과제 6), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rkdud007/컴프-과제-6저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)