C언어 비트단기 3일차(반복문과 제어문 ex) for, while, do-while)
- C언어
- 2016. 4. 17. 21:59
=============================================================================
//하나의 숫자를 입력받아서 오른쪽에서 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);
}
}
'C언어' 카테고리의 다른 글
C언어 비트단기 6일차(문자열 함수, 구조체) (0) | 2016.04.17 |
---|---|
C언어 비트단기 5일차(함수) (0) | 2016.04.17 |
C언어 비트단기 4일차(배열과 포인터 실습) (0) | 2016.04.17 |
C언어 비트단기 2일차(printf,scanf_s) (0) | 2016.04.17 |
C언어 비트단기 1일차 학습 자료들(Hello World) (0) | 2016.04.17 |
이 글을 공유하기