
구구단 출력, 자릿수 합산, 별 출력, 약수의 합 출력, 우박수 나열 및 길이 출력 - 컴퓨터 개론, 문제 정의, 문제 해결 방법, 소스 코드, 결과 화면
본 내용은
"
구구단 출력, 자릿수 합산, 별 출력, 약수의 합 출력, 우박수 나열 및 길이 출력 - 컴퓨터 개론, 문제 정의, 문제 해결 방법, 소스 코드, 결과 화면
"
의 원문 자료에서 일부 인용된 것입니다.
2024.06.16
문서 내 토픽
-
1. 구구단 출력문제 정의: 원하는 단을 입력해서 구구단을 출력한다. 문제 해결 방법: 원하는 단을 입력하고 1~9단까지 while함수를 사용하여 출력한다. 소스 코드: #include
int main(){int put, num;//입력하는 값과 9단을 선언scanf('%d', &put);num=1;//9단을 나타내는 값 초기화while(num<=9)//9단까지 곱해주기 위함{printf('%d x %d = %d ', put, num, put*num);//구구단 입력num++;//1~9단까지 증가}return 0;} -
2. 자릿수 합산문제 정의: 정수를 입력받은 후 각각의 자릿수의 합을 출력한다. 문제 해결 방법: 정수의 크기를 고려해 범위가 크게 선언한다. 자릿수의 합을 초기화 시켜 준 후 자릿수의 합을 입력받은 숫자에 %10을 사용해 1의 자리부터 출력한다. 입력받은 숫자를 10으로 나누면 1의 자리가 나타나지 않는다는 것을 사용한다. 이 실행을 반복하여 각 자릿수의 합을 구한다. 소스 코드: #include
int main(){long long num, sum;//정수의 크기를 생각하여 범위를 크게 해 선언printf('정수 입력 : ');fflush(stdout);scanf('%lld', &num);sum=0;//자릿수의 합 초기화while(num>=1)//1이상일 때 실행하도록 설정{sum = sum + num%10;num = num/10;//첫번째 자릿수부터 하나씩 더해감}printf('자릿수의 합 : %lld', sum);return 0;} -
3. 별 출력문제 정의: 입력받은 숫자만큼 *출력하고 다음 줄마다 하나씩 줄여서 출력한다. 문제 해결 방법: 입력받은 변수보다 작거나 같을 때까지 *을 가로줄에 출력한다. 입력받은 변수보다 커지면 한 줄을 띄우고 입력받은 변수를 1씩 감소시키면서 같은 방식으로 *을 출력한다. 소스 코드: #include
int main(){int num, i, j;setvbuf(stdout, NULL, _IONBF, 0);printf('입력 : ');scanf('%d', &num);i=1;//변수 초기화while(i<=num)//j가 num보다 작거나 같을 때까지 반복{j=1;//변수초기화while(j<=num)//j가 num보다 작거나 같을 때까지 반복{printf('*');//*출력j++;//j의 값을 하나씩 증가시킨다(가로줄)}printf(' ');num--;//입력받은 값을 줄여나간다(세로줄)}return 0;} -
4. 약수의 합 출력문제 정의: 입력 받은 정수의 약수들의 합을 출력한다. 문제 해결 방법: while문을 이용하여 입력받은 숫자를 1부터 1씩 증가시키면서 나눴을 때의 몫이 0인 값만 더한다. 단, 입력받은 숫자보다 작은 값으로 나눴을 때까지를 실행한다. 소스 코드: #include
int main(){int num,sum,i;//num은 입력받는 수/sum은 자릿수의 합/ i는 조건문 변수printf('정수 입력 : ');fflush(stdout);scanf('%d', &num);i=1;//조건문 변수초기화sum=0;//변수 초기화while(i 5. 우박수 나열 및 길이 출력문제 정의: 입력받은 자연수가 홀수냐 짝수냐에 따라 같은 식을 1이 될 때까지 반복한다. 문제 해결 방법: 숫자 두개를 입력한 후 조건 연산자를 이용하여 작은 수를 먼저 계산한다. 조건문 변수가 1이 아닐 때 , if문을 사용하여 홀수 일때와 짝수일 때 계산을 다르게 하는 것을 while문을 사용하여 반복한다. 소스 코드: int n1,n2,i,j,a,b;//n1,n2는 입력받는값/i,j는 조건문 변수/a,b는 오름차순정리를 위해int count;//우박수 길이 카운팅printf('두 정수 입력 : ');fflush(stdout);scanf('%d %d',&n1,&n2);//숫자 두개 입력a = (n1n2)?n1:n2;//n1,n2중 큰 수 받기i=a;//작은수로 초기화while(i<=b){j=i;count =1;//카운팅 초기화printf('%d : %d ',i,i);while(j!=1){if(j%2==1){j=(3*j+1);printf('%d ',j);}else{j=(j/2);printf('%d ',j);}count++;}i++;printf('=> 우박수의 길이 : %d ',count);}
-
1. 구구단 출력구구단 출력은 기초적인 프로그래밍 문제이지만, 이를 통해 기본적인 반복문과 조건문 사용법을 익힐 수 있습니다. 구구단 출력 문제를 해결하면서 프로그래밍의 기본 구조와 논리적 사고력을 기를 수 있습니다. 또한 이를 통해 프로그래밍의 기본 문법과 구문을 익히고, 변수와 연산자 사용법을 익힐 수 있습니다. 이러한 기초적인 프로그래밍 문제를 해결하는 것은 프로그래밍 실력 향상에 매우 중요한 기반이 됩니다.
-
2. 자릿수 합산자릿수 합산 문제는 숫자 처리와 반복문 사용법을 익힐 수 있는 좋은 문제입니다. 이 문제를 해결하면서 숫자를 문자열로 변환하고, 각 자릿수를 추출하여 합산하는 과정을 익힐 수 있습니다. 또한 반복문을 사용하여 각 자릿수를 처리하는 방법을 익힐 수 있습니다. 이러한 기본적인 숫자 처리와 반복문 사용법은 프로그래밍 실력 향상에 매우 중요한 기반이 됩니다.
-
3. 별 출력별 출력 문제는 기초적인 프로그래밍 문제이지만, 이를 통해 반복문과 중첩 반복문 사용법을 익힐 수 있습니다. 별 출력 문제를 해결하면서 행과 열을 제어하는 방법, 그리고 중첩 반복문을 사용하여 다양한 모양의 별을 출력하는 방법을 익힐 수 있습니다. 이러한 기초적인 프로그래밍 기술은 프로그래밍 실력 향상에 매우 중요한 기반이 됩니다.
-
4. 약수의 합 출력약수의 합 출력 문제는 숫자 처리와 반복문 사용법을 익힐 수 있는 좋은 문제입니다. 이 문제를 해결하면서 숫자의 약수를 찾고, 이를 합산하는 과정을 익힐 수 있습니다. 또한 반복문을 사용하여 약수를 찾는 방법을 익힐 수 있습니다. 이러한 기본적인 숫자 처리와 반복문 사용법은 프로그래밍 실력 향상에 매우 중요한 기반이 됩니다.
-
5. 우박수 나열 및 길이 출력우박수 나열 및 길이 출력 문제는 재귀 함수와 반복문 사용법을 익힐 수 있는 좋은 문제입니다. 이 문제를 해결하면서 우박수 생성 과정을 재귀적으로 구현하고, 생성된 수열의 길이를 출력하는 방법을 익힐 수 있습니다. 또한 반복문을 사용하여 수열을 생성하는 방법도 익힐 수 있습니다. 이러한 기본적인 재귀 함수와 반복문 사용법은 프로그래밍 실력 향상에 매우 중요한 기반이 됩니다.