C언어 비트단기 3일차(반복문과 제어문 ex) for, while, do-while)

=============================================================================

//하나의 숫자를 입력받아서 오른쪽에서 3번째 비트가 0인지 1인지 알려주는 프로그램

#include <stdio.h>


int main(void)

{

int num1 = 0 ;


printf("하나의 정수를 입력하세요 :\n");

scanf_s("%d",&num1);


if(num1 >> 3 == 0)

{

printf("비트가 0입니다.\n");

}

else if(num1 >> 3 == 1)

{

printf("비트가 1입니다.\n");

}

return 0;

}

=============================================================================

//사용자로부터 하나의 숫자를 입력받아서 0xF120 을 ^ 연산을 해서 구하는 프로그램.

#include <stdio.h>


int main(void)

{

int num1 = 0;

int result = 0;


printf("하나의 숫자를 입력하세요 : \n");

scanf_s("%d",&num1);


result = num1 ^ 0xF120;

result = num1 ^ 0xF120;


printf("num1 = %#d입니다.\n",result);

return 0;

}

=============================================================================

//사용자로부터 두개의 수를 입력받은 후 두 수의 부호에 따라 메시지를 출력하는 

프로그램을 구현하시오.

#include <stdio.h>


int main(void)

{

int num1 = 0;

int num2 = 0;


printf("num1 을 입력하세요 :\n");

scanf_s("%d",&num1);

 

printf("num2 을 입력하세요 :\n");

scanf_s("%d",&num2);


if(num1 > 0 && num2 > 0)

{

printf("양수 입니다.\n");

}

else 

{

printf("모두 양수는 아닙니다.\n");

}

return 0;

}

=============================================================================

//. 두 개의 정수를 입력받은 후에 작은 수가 큰 수의 약수인지 확인하는 프로그램을 

작성하시오.

#include <stdio.h>


int main(void)

{

int num1 = 0;

int num2 = 0;


printf("num1을 입력하세요 :\n");

scanf_s("%d",&num1);


printf("num2을 입력하세요 :\n");

scanf_s("%d",&num2);


if(num1 > num2)

{

if(num1 % num2 == 0)

{

printf("약수입니다.\n");

}

else

{

printf("약수가 아니다.\n");

}

}

else 

{

if(num2 % num1 == 0)

{

printf("약수입니다.\n");

}

else

{

printf("약수가 아니다.\n");

}

}

return 0;

}


=============================================================================

//. 세 개의 정수를 입력받은 후에 크기가 큰 순서부터 출력하는 프로그램을 작성하시오.

#include <stdio.h>


int main(void)

{

int a,b,c;


printf("a를 입력하세요 : \n");

scanf_s("%d",&a);

printf("b를 입력하세요 : \n");

scanf_s("%d",&b);

printf("c를 입력하세요 : \n");

scanf_s("%d",&c);


if(a > b)

{

if(a > c)

{

if(b > c)

{

printf("%d %d %d\n",a,b,c);

}

else

{

printf("%d %d %d\n",a,c,b);

}

}

else

{

printf("%d %d %d\n",c,a,b);

}

}

else

{

if(b > c)

{

if(a > c)

{

printf("%d %d %d\n",b,a,c);

}

else

{

printf("%d %d %d\n",b,c,a);

}

}

else

{

printf("%d %d %d\n",c,b,a);

}

}

return 0;

}



=============================================================================

//. 하나의 문자를 입력받아 ‘i’ 혹은 ‘I’일 때는 추가, ‘d’ 혹은 ‘D’일 때는

 삭제 , ‘s’ 혹은 ‘S’일 때는 검색, ‘l’, ‘L’일 때는 전체 출력이라고 

화면에 출력하는 프로그램을 작성하시오.


#include <stdio.h>


int main(void)

{

char munja = ' ';


printf("하나의 문자를 입력하세요 :\n");

scanf_s(" %c",&munja,1);


switch(munja)

{

case 'i':

case 'I':

printf("추가\n");

break;


case 'd':

case 'D':

printf("삭제\n");

break;

case 's':

case 'S':

printf("검색\n");

break;

case'l':

case 'L':

printf("전체 출력\n");

break;

}

return 0;

}


=============================================================================

두 수를 입력받은 후 작은 수~큰 수 사이의 모든 수의 합을 구하는 프로그램을 작성하시오.


#include <stdio.h>


int main(void)

{

int i = 0;

int j = 0;

int k = 0;

int sum = 0;


printf("i를 입력하세요 :\n");

scanf_s("%d",&i);


printf("j를 입력하세요 :\n");

scanf_s("%d",&j);


if(i > j)

{

for(k = j; k <= i; k++)

{

sum += k;

}

}

else

{

for(k = i; k <= j; k++)

{

sum += k;

}

}


printf("작은수 부터 큰수의 범위의 합 = %d입니다.\n",sum);


return 0;

}


=============================================================================

1부터 100 사이에 있는 모든 6의 배수를 출력하는 프로그램을 작성하시오.


#include <stdio.h>


int main(void)

{

int i = 0;

int count = 0;

for(i = 1; i <= 100; i++)

{

if(i % 6 == 0)

{

printf("%3d" , i);

}

}

return 0;

}

=============================================================================

. 한 자리의 정수를 입력받아 입력받은 수의 단을 출력하는 프로그램을 작성하시오.

#include <stdio.h>


int main(void)

{

int dan = 0;

int i,j;

printf("몇단을 원하시나요? \n");

scanf("%d",&dan);


for(i = 1 ; i <=9 ; i++)

{

j = dan * i;

printf("%2d*%2d = %2d",dan,i,j);

if(i % 3 == 0)

{

printf("\n");

}

}

return 0;

}


=============================================================================

다음을 반복하는 프로그램을 작성하시오.

“I: 추가 D: 삭제 S:검색 L:전체 출력 E:종료”를 화면에 출력

하나의 문자를 입력받음

입력받은 문자가 ‘i’ 혹은 ‘I’일 때는 추가, ‘d’ 혹은 ‘D’일 때는 삭제 , 

‘s’ 혹은 ‘S’일 때는 검색, ‘l’, ‘L’일 때는 전체 출력이라고 화면에 출력

 

(단, E를 누르면 프로그램을 종료)



#include <stdio.h>


int main(void)

{

char munja = ' ';


while(1)

{

printf("I:추가 D: 삭제 S:검색 L:전체 출력 E:종료\n");

printf("하나의 문자를 입력하세요:\n");

scanf_s(" %c",&munja,1);


switch(munja)

{

case 'i':

case 'I':

printf("추가\n");

break;

case 'd':

case 'D':

printf("삭제\n");

break;

case 's':

case 'S':

printf("검색\n");

break;

case 'l':

case 'L':

printf("전체 출력\n");

break;

case 'E':

return 0;

break;

}

}

return 0;

}



=============================================================================

두 개의 정수를 입력받아 두 개의 정수 사이의 모든 정수의 합을 계산하는 

프로그램을작성하시오.

(입력받은 두 수를 포함한 합계를 구하시오.)


#include <stdio.h>


int main(void)

{

int num1, num2;

int i = 0;

int sum = 0;


printf("num1을 입력하세요 : \n");

scanf_s("%d",&num1);


printf("num2을 입력하세요 : \n");

scanf_s("%d",&num2);


if(num1 > num2)

{

for(i = num2; i <= num1; i++)

{

sum += i;

}

}

else

{

for(i = num1; i <= num2; i++)

{

sum += i;

}

}


printf("합 = %d\n",sum);


return 0;

}



=============================================================================

두 개의 양의 정수를 입력받아 공약수의 합을 계산하는 프로그램을작성하시오.


#include <stdio.h>


int main(void)

{

int num1, num2;

int sum = 0;

int i = 0;

int j = 0;

int k = 0;


printf("num1을 입력하세요 :\n");

scanf_s("%d",&num1);


printf("num2을 입력하세요 :\n");

scanf_s("%d",&num2);


if(num1 > num2)

{

for(i = 1; i <= num1; i++)

{

if(num1 % i == 0 && num2 % i == 0)

{

sum += i;

}

}

printf("합계 = %d\n",sum);

}

else

{

for(i = 1; i <= num2; i++)

{

if(num1 % i == 0 && num2 % i == 0)

{

sum += i;

}

}

printf("합계 = %d\n",sum);

}

return 0;

}


=============================================================================

두 개의 양의 정수를 입력받아 공배수를 작은 순서부터 차례대로 10개를 출력하는 

프로그램을 작성하시오.


#include <stdio.h>


int main(void)

{

int num1, num2;

int count = 0;

int i = 0;

int j = 1;


printf("num1을 입력하세요 : \n");

scanf_s("%d",&num1);


printf("num2을 입력하세요 : \n");

scanf_s("%d",&num2);

for(i = j; ;i++)

{

if(i % num1 == 0 && i % num2 == 0)

{

printf("%5d\n",i);

count++;

}

if(count == 10)

{

break;

}

}

return 0;

}

=============================================================================

 ‘a’문자에서 ‘z’문자 사이의 모든 문자와 아스키 코드 값을 출력하는 프로그램을 작성하시오

#include <stdio.h>


int main(void)

{

char munja = ' ';


for(munja = 'a'; munja <= 'z'; munja++)

{

printf("%3d\n",munja);

}


return 0;

}

=============================================================================

두 개의 정수를 입력받아 작은 값을 출력하는 코드를 작성하시오.


#include <stdio.h>


int main(void)

{

int num1 = 0;

int num2 = 0;


printf("num1 을 입력하세요 :\n");

scanf_s("%d",&num1);


printf("num2 을 입력하세요 :\n");

scanf_s("%d",&num2);


if(num1 > num2 )

{

printf("%d 과 %d 중에서 작은수는 %d입니다.\n",num1,num2,num2);

}

else

{

printf("%d 과 %d 중에서 작은수는 %d입니다.\n",num1,num2,num1);

}

return 0;

}

=============================================================================

정수를 입력받아 약수를 출력하는 코드를 작성하시오.

#include <stdio.h>


int main(void)

{

int number = 0;

int i = 0;

printf("하나의 정수를 입력하세요 :\n");

scanf_s("%d",&number);


for(i = 1; i <= number; i++)

{

if(number % i == 0)

{

printf("%d의 약수 = %d입니다.\n",number,i);

}

}

return 0;

}


=============================================================================

1부터 1000 사이에 소수(Prime Number, 1과 자기 자신만 약수인 수)를 출력하는 코드를 작성하시오.


#include <stdio.h>


int main(void)

{

int count = 0;

int number = 0;

int i = 0;

int j = 0;


printf("1부터 몇까지 사이의 소수를 알고싶나요? \n");

scanf_s("%d",&number);


for(i = 1; i <= number; i++)

{

count = 0;

for(j = 1; j <= number; j++)

{

if(i % j == 0)

{

count++;

}

}

if(count == 2)

{

printf("1 ~ %d 사이의 소수 = %3d\n",number,i);

}

}

return 0;

}


=============================================================================

 10개의 정수를 입력받아 최소값과 최대값을 출력하는 코드를 작성하시오.


#include <stdio.h>

#define SIZE 10


int main(void)

{

int i = 0;

int number[SIZE];

int max = 0;

int min = 0;


for(i = 0 ; i < SIZE; i++)

{

printf("정수를 입력하세요 :\n");

scanf_s("%d",&number[i]);

}


max = number[0];

for(i = 0 ; i < SIZE; i++)

{

if(max < number[i])

{

max = number[i];

}

}

min = number[0];

for(i = 0 ; i < SIZE; i++)

{

if(min > number[i])

{

min = number[i];

}

}

printf("최대값 = %d\n",max);

printf("최소값 = %d\n",min);

return 0;

}


=============================================================================

 10개의 정수를 입력받아 최소값과 최대값을 출력하는 코드를 작성하시오.


#include <stdio.h>


int main(void)

{

int number = 0;

int i = 0;

int max = 0;

int min = 0;


printf("첫번째 값을 입력하세요 :\n");

scanf_s("%d",&number);

min = number;

max = number;

for(i = 1; i < 10; i++)

{

printf("정수를 입력하세요 :\n");

scanf_s("%d",&number);


if(max < number)

{

max = number;

}

if(min > number)

{

min = number;

}

}


printf("최대값 = %d\n 최소값 = %d\n",max, min);

return 0;

}


=============================================================================

1부터 100사이의 2의 배수의 합을 구하는 프로그램을 구현하시오.


#include <stdio.h>


int main(void)

{

int i = 0;

int sum = 0;


for(i = 1; i <= 100; i++)

{

if(i % 2 == 0)

{

sum += i;

}

}


printf("2의 배수의 합 = %d입니다.\n",sum);


return 0;

}

=============================================================================

구구단 출력


#include <stdio.h>


int main(void)

{

int num1, num2 =0;

int i = 0;

int j = 0;

int k = 0;

printf("몇단부터 몇단까지 구구단을 원하시나요?\n");

scanf("%d",&num1);

scanf("%d",&num2);


if(num2 > num1 )

{

for( j = 1; j <= 9; j++)

{

for( i = num1; i <=num2 ; i++)

{

printf("%2d*%2d=%3d",i,j,i*j);

if(i % 5 == 0)

{

printf("\t");

}

}

printf("\n");

}

}

else

{

printf("num1 의 값이 num2의 값보다 큽니다.\n");

return 0;

}

return 0;

}

=============================================================================

사용자가 입력하는 정수를 모두 더한 뒤 평균을 구하는 프로그램을 구현하시오.


#include <stdio.h>


int main(void)

{

int number = 0;

int sum = 0;

double average = 0.0;

int count = 0;


while(1)

{

printf("정수를 입력하세요:\n");

scanf_s("%d",&number);


sum += number;

count++;


if(number == 0)

{

break;

}

}


average = (double)sum / count;


printf("평균 = %.3lf입니다.\n",average);


return 0;

}


=============================================================================

사용자로부터 정수를 입력받고(0을 입력할때까지) 입력이 끝나면 입력된 짝수의 개수와 짝수의 평균 값, 입력된 홀수의

총 개수, 홀수의 평균 값을 출력하는 프로그램을 구현하시오.


#include <stdio.h>


int main(void)

{

int number = 0;

int i = 0;

int even_sum = 0;

int odd_sum = 0;

int count1 = 0;

int count2 = 0;

int count3 = 0;

double even_average = 0.0;

double odd_average = 0.0;


while(1)

{

printf("하나의 정수를 입력하세요 :\n");

scanf_s("%d",&number);


count1++;


if(number % 2 == 0)

{

even_sum += number;

count2++;

}

else if(number % 2 == 1)

{

odd_sum += number;

count3++;

}


if(number == 0)

{

break;

}

}


even_average = (double)even_sum / count2;

odd_average = (double)odd_sum / count3;


printf("짝수의 개수 = %d개\n",count2);

printf("짝수의 합 =  %d입니다.\n",even_sum);

printf("짝수의 평균 = %.3lf입니다.\n",even_average);

printf("홀수의 개수 = %d개\n",count3);

printf("홀수의 합 =  %d입니다.\n",odd_sum);

printf("홀수의 평균 = %.3lf입니다.\n",odd_average);


return 0;

}


=============================================================================

다이아몬드 별


#include <stdio.h>


int main(void)

{

int line = 0;

int star = 0;

int space = 0;

int input = 0;


printf("정수를 입력하세요 :\n");

scanf_s("%d",&input);


for(line = 1; line <= input; line++)

{

for(space = 1; space <= input-line; space++)

{

printf(" ");

}

for(star = 1; star <= (2*line)-1; star++)

{

printf("*");

}

printf("\n");

}

for(line = (input-1); line >= 1; line--)

{

for(space = 1; space <= input-line; space++)

{

printf(" ");

}

for(star = 1; star <= (2*line)-1; star++)

{

printf("*");

}

printf("\n");

}


return 0;

}


=============================================================================

모래시계 별


#include <stdio.h>


int main(void)

{

int line = 0;

int star = 0;

int space = 0;

int input = 0;


printf("정수를 입력하세요 :\n");

scanf_s("%d",&input);


for(line = (input); line >= 1; line--)

{

for(space = 0; space < input-line; space++)

{

printf(" ");

}

for(star = 1; star <= (2*line)-1; star++)

{

printf("*");

}

printf("\n");

}


for(line = 2; line <= input; line++)

{

for(space = input-line; space >= 1; space--)

{

printf(" ");

}

for(star = 1; star <= (2*line)-1; star++)

{

printf("*");

}

printf("\n");

}

return 0;

}


=============================================================================

2진수 구하기 프로그램


#include <stdio.h>


void bin(int n);


int main(void)

{

int number = 0;


printf("하나의 정수를 입력하세요 :\n");

scanf_s("%d",&number);


bin(number);


printf("\n");

return 0;

}


void bin(int n)

{

if(n == 1 || n == 0)

{

printf("%d",n);

}

else

{

bin(n/2);

printf("%d",n%2);

}

}



728x90

이 글을 공유하기

댓글

Designed by JB FACTORY