본문 바로가기

수업과제

2024000303김현진3주차

#include <stdio.h> // 표준 입출력 함수를 사용하기 위한 헤더 파일 포함
#define SIZE 3 // 배열의 크기를 정의하는 전처리기 지시문
// 사람의 이름과 체중을 저장할 구조체 정의
typedef struct{
char name[10]; // 이름을 저장할 문자 배열
double w; // 체중을 저장할 실수형 변수
}WEIGHT;
void swap(WEIGHT *, WEIGHT *); // 두 WEIGHT 타입의 변수의 값을 교환할 함수 선언
int main()
{
// 세 사람의 이름과 체중을 초기화한 구조체 배열 선언
WEIGHT man[SIZE]={{"한개발",57.5},
{"엄청군",125.6},
{"갈비양",35.7} };
int i,j; // 반복문에서 사용할 인덱스 변수 선언
 
// 버블 정렬 알고리즘을 사용하여 체중을 기준으로 구조체 배열을 내림차순 정렬
for(i=0;i<2;i++){
for(j=i+1;j<3;j++){
if(man[i].w<man[j].w) {
swap(&man[i],&man[j]); // 체중이 더 큰 사람으로 man[i]를 업데이트
}
}
}
// 정렬된 데이터 출력
printf(" 이름 \t체중\n");
for(i=0;i<3;i++){
printf(" %s %5.1f\n",man[i].name,man[i].w);
}
return 0;
}
// swap 함수 정의: 두 WEIGHT 타입의 변수의 값을 교환
void swap(WEIGHT *mani, WEIGHT *manj)
{
WEIGHT temp; // 임시 저장을 위한 변수
temp=*mani; // mani의 값을 temp에 저장
*mani=*manj; // manj의 값을 mani에 저장
*manj=temp; // temp의 값을 manj에 저장
}
 
세 사람의 몸무게를 내림차순으로 출력 시키는 코드

#include <stdio.h> // 표준 입출력 함수를 사용하기 위한 헤더 파일 포함
#define SIZE 3 // 배열의 크기를 정의하는 전처리기 지시문
// 사람의 이름과 체중을 저장할 구조체 정의
typedef struct{
char name[10]; // 이름을 저장할 문자 배열
double w; // 체중을 저장할 실수형 변수
}WEIGHT;
void swap(WEIGHT *, WEIGHT *); // 두 WEIGHT 타입의 변수의 값을 교환할 함수 선언
int main()
{
// 세 사람의 이름과 체중을 초기화한 구조체 배열 선언
WEIGHT man[SIZE]={{"한개발",57.5},
{"엄청군",125.6},
{"갈비양",35.7} };
int i,j; // 반복문에서 사용할 인덱스 변수 선언
 
// 버블 정렬 알고리즘을 사용하여 체중을 기준으로 구조체 배열을 오름차순 정렬
for(i=0;i<2;i++){
for(j=i+1;j<3;j++){
if(man[i].w > man[j].w) { // 여기를 수정했습니다!
swap(&man[i],&man[j]); // 체중이 더 작은 사람으로 man[i]를 업데이트
}
}
}
// 정렬된 데이터 출력
printf(" 이름 \t체중\n");
for(i=0;i<3;i++){
printf(" %s %5.1f\n",man[i].name,man[i].w);
}
return 0;
}
// swap 함수 정의: 두 WEIGHT 타입의 변수의 값을 교환
void swap(WEIGHT *mani, WEIGHT *manj)
{
WEIGHT temp; // 임시 저장을 위한 변수
temp=*mani; // mani의 값을 temp에 저장
*mani=*manj; // manj의 값을 mani에 저장
*manj=temp; // temp의 값을 manj에 저장
}

 

반대로 몸무게를 오름차순으로 정렬하는 코드


argument, parameter, return value의 개념

 

 

 

c 언어는 항상 main 함수로 시작하지는 않는다

 

 

return 0;을 생략해도 기술적으로 문제는 없지만, 가독성과 명시성을 위해 작성하는 것이 일반적인 관례

 

 

많이 사용하는 표준 라이브러리 함수

 


#include <stdio.h> // 표준 입출력 함수를 사용하기 위한 헤더 파일
#include <stdlib.h> // rand(), srand() 함수를 사용하기 위한 헤더 파일
#include <time.h> // time() 함수를 사용하기 위한 헤더 파일
int main(void) {
int diceRoll; // 주사위 눈금을 저장할 변수
char enter; // 사용자의 엔터 입력을 받을 변수
// 현재 시간을 기준으로 난수 생성기의 시드 값을 설정
srand((unsigned int)time(NULL));
printf("주사위 게임에 오신 것을 환영합니다! 엔터를 누르면 주사위를 굴립니다.\n");
while(1) { // 무한 루프로 게임을 계속 진행
// 사용자가 엔터를 누를 때까지 대기
scanf("%c", &enter);
 
// 1부터 6까지의 숫자 중 하나를 무작위로 생성
diceRoll = (rand() % 6) + 1;
printf("당신이 굴린 주사위: %d\n", diceRoll);
// 주사위 눈금이 6이 나오면 게임 승리
if(diceRoll == 6) {
printf("축하합니다! 6이 나와 게임에서 이겼습니다!\n");
break; // 게임 종료
} else {
// 6이 아니면 계속 게임 진행
printf("아쉽게도 6이 나오지 않았습니다. 다시 시도해보세요!\n");
}
}
return 0; // 프로그램 종료
}
주사위를 굴려주는 코드

 

 

 

 

많이 사용하는 예약어

 

 

자주 사용하는 구두점

 

 

 

소스 정렬

 

printf()사용법 기본(%d, %f, %c, %s)

 

 

 

'수업과제' 카테고리의 다른 글

2024000303김현진7주차  (0) 2024.04.16
2024000303김현진6주차  (0) 2024.04.09
2024000303김현진5주차  (0) 2024.04.02
2024000303김현진4주  (0) 2024.03.26
김현진 2주차수업  (0) 2024.03.12