반응형
1. level 1-1
for (i = 0; i < 3; i++)
std1.sum += std1.score[i];
std1.avg = std1.sum / 3.0;
printf("%s, %d, %d, %d, %d, %.2f", std1.name, std1.score[0], std1.score[1], std1.score[2], std1.sum, std1.avg);
return 0;
결과
홍길동, 68, 89, 80, 237, 79.00
2. level 1-2
struct STUDENT* ptr;
int i;
ptr = &std1;
for (i = 0; i < 3; i++)
ptr->sum += ptr->score[i];
ptr->avg = ptr->sum / 3.0;
printf("%s, %d, %d, %d, %d, %.2f", ptr->name, ptr->score[0], ptr->score[1], ptr->score[2], ptr->sum, ptr->avg);
return 0;
3. level 2-1
두 점 사이의 거리를 구하는 프로그램
거리 구하는 과정 중 sqrt 과 double 사이 ( 하나가 빠져있음
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
#pragma warning(disable:4996)
typedef struct point {
int x;
int y;
}POINT;
int main()
{
double distance;
POINT start;
POINT end;
printf("시작점의 좌표 x1 y1 ");
scanf("%d%d", &start.x, &start.y);
printf("끝점의 좌표 x1 y1 ");
scanf("%d%d", &end.x, &end.y);
distance = sqrt((double)((end.x - start.x) * (end.x - start.x) + (end.y - start.y) * (end.y - start.y)));
printf("두 점 사이의 거리 : %lf \n", distance);
return 0;
}
결과
시작점의 좌표 x1 y1 3 5
끝점의 좌표 x1 y1 6 9
두 점 사이의 거리 : 5.000000
4. level 2-2
고객의 정보를 저장하는 프로그램
#include <stdio.h>
#include <stdlib.h>
#pragma warning(disable:4996)
struct A_MEMBER {
char name[20];
int age;
char gender;
char grade;
char mobTel[15];
char custAddr[100];
};
int main()
{
struct A_MEMBER cust;
printf("성명? ");
gets(cust.name);
printf("나이? ");
scanf("%d%*c", &cust.age);
do {
printf("성별? (남:m, 여:w) ");
scanf("%c%*c", &cust.gender);
cust.gender = toupper(cust.gender);
} while (cust.gender != 'M' && cust.gender != 'W');
do {
printf("회원등급? (A,B,C) ");
scanf("%c%*c", &cust.grade);
cust.grade= toupper(cust.grade);
} while (cust.grade != 'A' && cust.grade != 'B' && cust.grade != 'C');
printf("휴대폰 번호? ");
gets(cust.mobTel);
printf("근무지역 주소? ");
gets(cust.custAddr);
printf("%s, %d, %c, %4c, %s, %s \n", cust.name, cust.age, cust.gender, cust.grade, cust.mobTel, cust.custAddr);
return 0;
}
결과
성명? 홍길동
나이? 27
성별? (남:m, 여:w) t
성별? (남:m, 여:w) y
성별? (남:m, 여:w) m
회원등급? (A,B,C) p
회원등급? (A,B,C) x
회원등급? (A,B,C) b
휴대폰 번호? 010-001-0001
근무지역 주소? 서울시 강남구 역삼동
홍길동, 27, M, B, 010-001-0001, 서울시 강남구 역삼동
name[20] 처럼 배열 형태라도 사용할때는 cust.name 처럼 쓰는구나
5. level 3-1
6. level 3-2
7. level 3-3
반응형
'흔한 학교 생활 > 든든한 C 프로그래밍' 카테고리의 다른 글
[C언어] 든든한 C 프로그래밍 3판 12장 워크북 답 풀이 (0) | 2023.07.12 |
---|---|
[C언어] 든든한 C 프로그래밍 3판 12장 연습문제 답 풀이 (0) | 2023.07.11 |
[C언어] 든든한 C 프로그래밍 3판 11장 연습문제 답 풀이 (0) | 2023.07.10 |
[C언어] 든든한 C 프로그래밍 3판 10장 워크북 답 풀이 (0) | 2023.07.09 |
[C언어] 든든한 C 프로그래밍 3판 9장 워크북 답 풀이 (0) | 2023.07.08 |