본문 바로가기

C언어/과제

C언어 과제 11

1. 두 개의 정수를 입력받고 두 정수 사이에 5의 배수의 개수를 출력하는 프로그램을 작성하세요.

출력)    정수(2) 입력 : 5 21

           출력 : 3

//정수 2 입력하면  정수 사이의 5 배수갯수 출력!!
#include <stdio.h>

int multiple(int a, int b);

int main()
{
  
int inum1;
  
int inum2;

  fprintf(stdout, 
"정수 2개를 입력 : ");
  fscanf(stdin, 
"%d %d"&inum1, &inum2);
  
  fprintf(stdout, 
"\n출력 : %d\n", multiple(inum1, inum2));
  
return 0;
}

int multiple(int a, int b)
{
  
int multi=0;
  
int count;
  
  
for(count=a+1; count<b; count++)
  {
    a
=count%5;
    
if(a==0)
    {
      multi++;
    }
  }
  
return multi;
}

 

 

2. 두 개의 정수를 입력받고 두 정수 사이의 부호를 다음과 같이 바꿔가면서 계산한 식과 결과를 출력하세요.

출력)    정수(2) 입력 : 1 10

           X = 1 – 2 + 3 – 4 + 5 – 6 + 7 – 8 + 9 – 10

           X = -5

//두개의 정수를 입력받아 부호를 바꿔가며 계산하기!!
#include <stdio.h>

int sum(int a, int b);

int main()
{
  int inum1;
  int inum2;
  int count;
  int count1;

  fprintf(stdout, "
정수 2개를 입력 : ");
  fscanf(stdin, "%d %d"&inum1, &inum2);
  
  fprintf(stdout, "X = ");
  for(count=inum1; count<=inum2; count+=2)
  {
    fprintf(stdout, "%d", count);
    for(count1=0; (1>count1)&&(count<inum2); count1++)
    {
    fprintf(stdout, " - ");
      fprintf(stdout, "%d", count+1);
      if(count+1!=inum2)
      {
        fprintf(stdout, " + ");
      }
    }
  }
  fprintf(stdout, "\n");
  
  fprintf(stdout, "
출력 : %d", sum(inum1, inum2));
  return 0;
}

int sum(int a, int b)
{
  int count;
  int add=0;
  int sub=0;
  int sum=0;

  for(count=a; count<=b; count+=2)
  {
    add+=count;
  }
  for(count=a+1; count<=b; count+=2)
  {
    sub+=count;
  }
  sum=add-sub;
  return sum;
}

 

 

 

3. 사용자에게 년도를 입력 받아 윤년인지 아닌지를 판단하는 판단하는 프로그램을 작성하시오.

윤년은 아래와 같다.

l  4로 나누어 떨어지는 해이다.

l  그 중에서 100으로 나누어 떨어지는 해는 평년

l  다만 400으로 나누어 떨어지는 해는 다시 윤년

출력)    Input Year :  2000

           [2000] is leap year

           Input Year :  2001

           [2001] is common year

 

//년도 입력시 윤년 or 평년 출력
#include <stdio.h>

int Year(int a);

int main()
{
  int year;
  int count;
  int inum;

  fprintf(stdout, "
확인하고 싶은 년도 입력 : ");
  fscanf(stdin, "%d"&year);

  if(Year(year)==0)
  {
  fprintf(stdout, "%d
년도는 윤년 입니다. \n", year);
  }
  else
  {
  fprintf(stdout, "%d
년도는 평년 입니다. \n", year);
  }
  return 0;
}

int Year(int a)
{
  int year;
  
  year=a%4;
  if(0==year)
  {
    if(0==(year=a%100))
    {
      if(0==(year=a%400))
      {
        return 0;
      }
      return 1;
    }
    return 0;
  }
  else
  {
    return 1// 

  }
}

 

 

4. 입력한 문자가 소문자이면 대문자로, 대문자이면 소문자로 변경하는 함수를 구현하세요. 문자 ch를 입력 받고, ch가 소문자이면 대문자로 출력합니다.

출력)    문자 : a97

           대문자로 변환 : A65

 

           문자 : C

           소문자로 변환 : c

 

//문자 입력시  문자 바꿔주기
#include <stdio.h>

char change(char a);

int main()
{
  
char ch;

  fprintf(stdout, 
"문자를 입력해주세요 : ");
  fscanf(stdin, 
"%c"&ch);

  
if(change(ch)=='a')
  {
    fprintf(stdout, 
"소문자를 대문자로 변환 : %c\n", ch-=32);
  }
  
else
  {
    fprintf(stdout, 
"대문자를 소문자로 변환 : %c\n", ch+=32);
  }
  
return 0;
}

char change(char a)
{

  
if((a>='A')&&(a<='Z'))
  {
    
    
return ;
  }
  
else
  {
    
return 'a';
  }
}


'C언어 > 과제' 카테고리의 다른 글

불러온 파일 Hexacode 보여주기  (0) 2010.12.09
C언어 과제 10  (0) 2010.10.27
C언어 과제 09  (0) 2010.10.25
C언어 과제 08  (0) 2010.10.25
C언어 도전과제 01 (소수와 합성수를 판단하여라)  (0) 2010.10.20