응컴프 2주차 과제

Ryan Han·2024년 10월 23일
0
post-thumbnail

1. 약수 판정

#include <stdio.h>
void print_divisor(int value); // 약수 구하는 함수 
int main(void) {
	int number;
	while (1) // 무한 반복
	{
		printf("약수를 구할 정수 입력(1 이하 종료) : ");
		scanf("%d", &number); // 데이터 입력
		if (number >= 2) { // 약수를 구할 수 있다면
			print_divisor(number);
		}
		else { // 약수를 구할 수 없다면
			printf("%d에 대한 약수를 구할 수 없습니다.\n", number);
			printf("프로그램을 종료합니다.\n");
			break;
		}
		printf("\n");
	}
	return 0;
}

void print_divisor(int value) {
	printf("%d의 약수 : ", value);
	for (int i = 2; i <= value; i++) {
		if (value % i == 0) {
			printf("%d ", i);
		}
	}
}

2. 완전수 출력하기

#include <stdio.h>
int perfect_number(int number); // 완전수 여부 판별 함수 (반환형 void으로 변경가능) 
int main(void) {
	int number=0;
	printf("1000 이하의 완전수: \n");
	perfect_number(number);
	// 반복문 수행 및 perfect_number() 호출하여 완전 수 계산 및 출력 
	for (number = 1; number <= 1000; number++) {
		if (perfect_number(number) == 1) {
			printf("%d\n", number);
		}
		
	}
	return 0;
}
//약수의 합이 자기 자신과 같아져야함.
int perfect_number(int number) {
	int sum = 0;
	for (int i = 1; i < number; i++) {
		if (number % i == 0) {
			sum += i;
		}
	}
	if (sum == number) return 1;

	else return 0;

}

3. 공 바꾸기

#include <stdio.h>
int store[101] = { 0, };
int i, j;
void swap(int a, int b);
int main(void) {
	int N, M;//M은 바꿀 횟수
	scanf("%d %d", &N, &M);
	for (int q = 1; q <= N; q++) {
		store[q] = q;
	}
	for (int k = 1; k <= M; k++) {
		scanf("%d %d", &i, &j);
		swap(i, j);

	}

	for (int u = 1; u <= N; u++) {
		printf("%d ", store[u]);
	}


	return 0;
}
void swap(int a, int b) {//값 바꾸는 알고리즘 중요
	int temp;
	temp = store[i];
	store[i] = store[j];
	store[j] = temp;
	

}

4. 신문 헤드라인

#include <stdio.h>
#include <ctype.h>
int main(void) {
	char str[100];

	scanf("%s", &str);

	for (int i = 0; str[i] != '\0'; i++) {//널문자를 만날때 까지 반복
		str[i] = toupper(str[i]);
	}//toupper은 문자열 소문자를 대문자로 바꿔줌줌
	
	printf("%s", str);


	return 0;
}

tolower() 함수는 대문자 C를 대응하는 소문자 c로 변환합니다.

toupper() 함수는 소문자 c를 대응하는 대문자 C로 변환합니다.

리턴값

두 함수는 변환된 문자를 리턴합니다. 문자 c에 대응하는 소문자 또는 대문자가 없으면 함수는 c를 변경하지 않고 리턴합니다.

profile
소프트웨어학과 대학생

0개의 댓글