728x90

연습문제풀이 40

C언어 연습문제 풀이 CH11 (13~16)

13. 소문자/대문자로 구성된 문자열을 입력받아 모두 대문자로 변환하거나, 모두 소문자로 변환하는 프로그램을 작성하라. //소문자/대문자로 구성된 문자열을 입력받아 모두 대문자로 변환하거나, 모두 소문자로 변환하는 프로그램을 작성하라. #include #include #include int main() { do { char buffer[100]; printf("대소문자가 섞인 영어 문장을 입력하세요. : "); scanf_s("%s", buffer, 100); int input; printf("원하는 동작을 선택하세요. \n"); printf("1. 소문자를 대문자로 변경 \n"); printf("2. 대문자를 소문자로 변경 \n"); scanf_s("%d", &input); do { switch (in..

C언어 연습문제 풀이 CH11 (5~8)

5. 문자열 "information"과 "communication"을 두 개의 포인터 변수에 각각 저장하고, 두 문자열을 합하여 출력하는 프로그램을 작성하라. //문자열 "information"과 "communication"을 두 개의 포인터 변수에 각각 저장하고, 두 문자열을 합하여 출력하는 프로그램을 작성하라. #include #include #include int main() { const char* str1 = "information "; const char* str2 = "communication"; char* str = (char*)malloc(sizeof(char) * (strlen(str1) + strlen(str2) + 1)); strcpy_s(str, _msize(str), str1);..

C언어 연습문제 풀이 CH11 (1 ~ 4)

1. isalpha()를 이용하여 알파벳 대/소문자를, isdigit()와 ispunct()함수를 이용하여 숫자와 특수 문자를 출력하는 프로그램을 작성하라. //isalpha()를 이용하여 알파벳 대/소문자를, isdigit()와 ispunct()함수를 이용하여 숫자와 특수 문자를 출력하는 프로그램을 작성하라. #include #include //C언어는 아스키코드로 문자를 표현하고 아스키코드는 총 256개(1byte)이다. int main() { printf("isalpha : "); for (int i = 0; i < 256; i++) { if (isalpha(i)) { printf("%c ", i); } } printf("\n"); printf("isdigit : "); for (int i = 0;..

C언어 연습문제 풀이 CH10 (9-11)

9. 다음 주어진 프로그램을 전처리기가 처리한 후 결과가 어떻게 나올지 써보라. 의도한 것과 다르다면 소스를 고쳐라. #define SQR(x) ((x)*(x)) void main(void) { int i = 2; printf("%d\n", SQR(++i)) } //전처리기 처리 후 코드 #include #define SQR(x) ((x)*(x)) void main(void) { int i=2; printf("%d\n", SQR(++i)); //위의 코드는 printf("%d\n", (++i) * (++i)); //와 같다. 즉 3*4가 되어 12가 나온다. //매크로 함수에서는 증감연산자를 쓸 수 없다고 생각하는게 좋으니 i = 2; ++i; printf("%d\n", SQR(i)); //i값을 꼭 증..

C언어 연습문제 풀이 CH10 (6-8)

6. 입력받은 세 개의 정수 중 가장 큰 값을 구하는 프로그램을 매크로 MAX(A,B,C)를 이용하여 작성하라. #include #define MAX(a,b,c) (((a)>(b)) ? ((a) > (c) ? (a) : (c)) : ((b) > (c) ? (b) : (c))) int main() { int a, b, c; printf("a값을 입력하세요 : "); scanf_s("%d", &a); printf("b값을 입력하세요 : "); scanf_s("%d", &b); printf("c값을 입력하세요 : "); scanf_s("%d", &c); printf("입력하신 값 중에서 가장 큰 값은 %d입니다. \n", MAX(a, b, c)); } 7. 프로그램의 실행결과가 다음과 같이 되도록 매크로 pr..

C언어 연습문제 풀이 CH10 (1-5)

1. 매크로 정의를 이용하여 원의 둘레를 구하는 프로그램을 작성하라. #include #define PI 3.141592 #define circumference(r) 2*PI*r int main(void) { double r; printf("원의 반지름을 입력하세요 : "); scanf_s("%lf", &r); printf("반지름이 %g인 원의 둘레는 %g입니다 \n",r,circumference(r)); } 2. 매크로 정의를 이용하여 5의 세제곱의 값을 구하여 출력하는 프로그램을 작성하라. #include #define cube(r) r*r*r int main(void) { printf("5의 세제곱 : %d \n", cube(5)); } 3. 다음 프로그램에서 전처리기가 #define, #ifde..

C언어 연습문제 풀이 CH9 (15~19)

15. 복소수 곱셈을 수행하는 함수를 작성하라. 이때, complex에 대한 포인터를 반환하는 함수와 complex형의 값을 반환하는 두개의 함수를 각각 작성하라. #include #include //malloc(), free() 사용 struct complex { double real_number; //실수부 double imaginary_number; //허수부 }; complex cp_mult(complex c1, complex c2); complex* cp_mult_rp(complex c1, complex c2); int main() { complex c1, c2, c3; complex* cp; printf("복소수의 곱셈을 합니다. \n"); printf("첫번째 복소수의 실수부를 입력하세요 :..

C언어 연습문제 풀이 CH9 (6~14)

6. 백화점 신용카드 고객 중 "Johnson"의 정보를 출력하는 프로그램을 작성하라. #include #include struct Customer { int ID; char name[10]; char address[30]; char phone[15]; int price; }; int main() { Customer list[10]; list[0] = { 1234, "Johnson", "Taejon,Korea", "042-654-0987", 200000 }; printf("고 객 번 호 : %d \n", list[0].ID); printf(" 이 름 : %s \n", list[0].name); printf(" 주 소 : %s \n", list[0].address); printf("전 화 번 호 : %s ..

C언어 연습문제 풀이 CH9 (1~5)

1. 학생의 학번과 국어,영어,수학 점수를 저장할 수 있는 구조체를 만들고, 각 학생의 평균 점수를 출력하는 함수를 작성하라. #include struct score { int id; int korean; int eneglish; int math; }; double avr(score* sp); int main() { score student[5]; for (int i = 0; i < 5; i++) { printf("%d번째 학생의 학번을 입력하세요 :", i + 1); scanf_s("%d", &(student[i].id)); printf("%d번째 학생의 국어 점수를 입력하세요 : ", i+1); scanf_s("%d", &(student[i].korean)); printf("%d번째 학생의 영어 점수..

반응형