U E D R , A S I H C RSS

허아�/C코딩연습

1. 소 개

05학번 ZeroPage 허아�� C 코딩연습실 입니다.
아�까진 실력� 많� 부족하지만 연습 많�하다보면 늘겠죠? ^^
틀린 부분�나, � 좋� 방법� 코딩법� 아시면, �씀해 주세요.
열씸히 하겠습니다!

zp숙제 => 숙제용��고 표기

2. 연 습

0.1. 1

5월 3� 숙제용 (devC++로)

~cpp 
/***********************************************************
한 ë³€ì�˜ 패턴수와 패턴모양ì�„ 입력받아 마름모를 ìœë ¥í•˜ëŠ”******
프로그램 입니다. **20051095 허아�************************** 
***********************************************************/ 
#include <stdio.h>
#include <stdlib.h>
int main()
{
     int pattern_num; 
     int i, j;
     int blank;
     char pattern_shape;
     printf("ìœë ¥ í•  마름모 ë³€ì�˜ 패턴수를 입력하십시오(정수>0) :");
     scanf("%d", &pattern_num);
     scanf("%c", &pattern_shape);

     printf("ìœë ¥ í•  마름모 패턴 모양ì�„ 입력하십시오(문ìž�) :");
     scanf("%c", &pattern_shape);

     for(i = 1; i <= pattern_num; i++)
     { 
         for(blank = 0; blank < pattern_num - i; blank++)
                  printf(" ");
         for(j = 0; j < 2*i-1; j++)
                  printf("%c", pattern_shape);
         printf("n");
      }
         for(i = 1; i < pattern_num; i++)
     { 
         for(blank = 0; blank < i; blank++)
                  printf(" ");
         for(j = 0; j < 2*(pattern_num-i)-1; j++)
                  printf("%c", pattern_shape);
         printf("n");
      }

  system("PAUSE");	
  return 0;
}

1.1. 2

5월 4� (visualC++로)
�번째는 첫번째보다는 시간� 별로 안걸렸어요. 그만� 조잡(?)한가요?ㅡㅡ


~cpp 
/*************************************************************
*패턴모양만 입력받아 한변ì—� 패턴 5개가 ë�˜ëŠ” 마름모를 ìœë ¥í•˜ëŠ”*
*프로그램입니다. [컴퓨터공학부 20051095 허아�]				 *
*************************************************************/
#include <stdio.h>
#include <string.h>

void main()
{
	int i, j, k;
	char shape;
	printf("패턴모양� 입력하십시오 :");
	scanf("%c", &shape);

	for(i = 0; i <= 4; i++)
	{ 
		for(j = 4; j >= i; j--)
			printf(" ");
		for(k = 0; k <= 2*i; k++)
			printf("%c", shape);
		printf("n");
	}

         for(i = 0; i <= 3; i++)
         {
		for(j = 0; j - 1 <= i; j++)
		printf(" ");
		for(k = 6; k >= 2*i; k--)
		printf("%c", shape);
	printf("n");
	}
}

1.1. 3

5월 5� (devC++)
ì§�ê°� 삼ê°�형ì�˜ 높ì�´ì™€ 패턴모양ì�„ 입력받ì�€ 후 ìœë ¥í•˜ëŠ” 프로그램입니다.
~cpp 
#include <stdio.h>
#include <stdlib.h>
int main()
{
     int i,j;
     int h = 0;
     char shape;
     printf("삼�형� 높� 패턴� 모양� 입력하십시오(예 : 5*) : ");
     scanf("%d%c", &h, &shape); 
  
     for(i = 1; i <= h; i++) 
     {

          for (j = 0; j < i; j++) 
          {
              printf("%c", shape);
          }
          printf("n");
      }
     system("PAUSE");
     return 0;
}

1.1. 4

5월 5� (devC++)
ë‘� 숫ìž�를 입력받ì�€í›„ ë‘� 숫ìž� 중ì—� í�° 숫ìž�를 ìœë ¥í•˜ê³ , ë‘� 숫ìž�ì�˜ 차를 구하는 프로그램입니다.
~cpp 
#include <stdio.h>
/*******************************************************************************
* 20051095 허아ì˜� ë‘� 숫ìž�를 입력받아 ë�” í�° 숫ìž�를 ìœë ¥ì‹œí‚¤ê³ , í�° 수와 ìž‘ì�€ìˆ˜ì�˜ *
* 차를 구하는 프로그램입니다.
***************************************************************************** */
void main()
{
     int a, b;
     printf("� 수를 입력하십시오 :");
     scanf("%d %d", &a, &b);
    
     if(a > b)
     {
          printf("�수는 %d입니다n", a);
          printf("ì°¨ : %d - %d = %dn", a, b, a-b);
      }     else
      {
          printf("�수는 %d입니다n", b);
          printf("ì°¨ : %d - %d = %dn", b, a, b-a);      
      }
      system("PAUSE");
}

↓↓↓ 정리차��서 고� 보았습니다.
~cpp 
#include <stdio.h>

void main()
{
     int a, b, Max, dif;
     printf("� 수를 입력하십시오 :");
     scanf("%d %d", &a, &b);
    
     if(a > b)
      {
          Max = a;
          dif = a-b;
      }     else
      {
          Max = b;
          dif = b-a;   
      }
      printf("� 수는 %d 입니다.n", Max);
      printf("� 수� 차�는 %d입니다n", dif);
      system("PAUSE");
}
↓↓ 같� 수를 입력 받� 때를 ��� 못했어서, 다시 정리요 ㅎㅎ

~cpp 
#include <stdio.h> 
 
void main() 
{ 
     int a, b, Max, dif; 
     printf("� 수를 입력하십시오 :"); 
     scanf("%d %d", &a, &b); 
     
     if(a > b) 
      { 
          Max = a; 
          dif = a-b; 
      printf("� 수는 %d 입니다.n", Max); 
      printf("� 수� 차�는 %d입니다n", dif);
      }
      else if(a == b)
      { 
          printf("� 수가 같습니다.n");
      }    
      else  
      {
          Max = b; 
          dif = b-a;    
      printf("� 수는 %d 입니다.n", Max); 
      printf("� 수� 차�는 %d입니다n", dif);
      } 
 
      system("PAUSE"); 
} 

1.1. 5

김승욱 �수님 홈페�지� 있는 실습�료�� , 혼� 만들어보았습니다.
2번 문제는 너무 어려워서, 아�� 분�중��요 -.-
문제1. 로ë˜� 복권ì�˜ 6ìž�리 수를 ëžœë�¤í•˜ê²Œ ìƒ�성하ë�°, 사용ìž�ê°€ ë°œìƒ� 횟수를 ì„ íƒ�í•  수 있ë�„ë¡� 하시오. 예를 들면, 초기 화면ì—�서 사용ìž�ê°€ 5를 입력하면 ëžœë�¤ 수 6개를 5번 ìœë ¥ 하는ë�° ìœë ¥ ì–‘ì‹�ì�´ 다ì�Œê³¼ ê°™ë�„ë¡� 프로그램ì�„ 완성하시오.
~cpp 
< LOTTO RANDOM NUMBER GENERATOR >
Enter the game count : 5

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

GAME 1 : 21 18 31 2 4 30

GAME 2 : 20 41 38 2 26 32

GAME 3 : 15 16 25 31 36 37

GAME 4 : 34 32 23 27 11 6

GAME 5 : 38 15 36 15 21 24

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


2. 화면ì—�서 5ê°œì�˜ ì �수를 ìž…ë ¥ 받아 1ì°¨ì›� ë°°ì—´ì—� 저장하고 ìž…ë ¥ ë°›ì�€ 수ì�˜ í•©ê³¼ í�‰ê· , 최대값과 최소값까지 ì‚°ìœí•˜ì—¬ ê·¸ 결과를 아래와 ê°™ì�´ 보여주시오.


~cpp 
Enter a number for score[0] : 80

Enter a number for score[1] : 50

Enter a number for score[2] : 99

Enter a number for score[3] : 74

Enter a number for score[4] : 88

[[ The contents of score array ]]

     80     50     99     74     88

sum = 391, avg = 78.2

max = 99, min = 50

score[0] : 80, rank = 3

score[1] : 50, rank = 5

score[2] : 99, rank = 1

score[3] : 74, rank = 4

score[4] : 88, rank = 2
ㄷ �짜면 올리겠습니다 !
정렬하는 여러방법중� 가장 쓸만 한것 (?) � 뭘까요 aa
퀵 소트, 버블 소트 등 여러가지 방법� 있는�. �단� 버블 소트가 구현하기 쉬울 꺼야. 그러나 혼� 어떻게 해야할지 고민해보는 것� 좋겠네 ㅎㅎ. -강�경
� 문제 내가 풀어봤는� 정렬 문제�고 보는 것보다는 순위를 매기는 문제�고 ��하면 � 쉽게 풀리겠네. 강�경/메모장� 참고해�.
- 선배 ����요 ㅠㅠ 허아�

1.2. 세번째 C 과제


~cpp 
화면 ìœë ¥ì œì–´ì—� 대한 연습

&#8226;  2 ∼ 9 까지ì�˜ 구구단ì�„ 한 화면ì—� ìœë ¥í•˜ëŠ” 프로그램ì�„ 작성하시오.

��터 처리� 대한 연습
&#8226;  ��터로 배열들� 요소를 지�하고 배열간� �료�환� 하는 프로그램� 작성하시오.

-        변수형과 ��터와� 관계, ��터가 가리키는 대�� �기 등� 보여주는 기능� 첨가하여 작성하시오.    


1.3. 거듭제곱� 반대

시작값� 1024로 할 때
~cpp 
#include <stdio.h>

int calcul(int num);
void print_result(int result);
void main()
{
	int result, n = 1024;

	while(n > 1)
	{
		result = calcul(n);
		print_result(result);
		n = result;
	}
}

int calcul(int num)
{
	num /= 2;
	return num;
}

void print_result(int result)
{
	printf("%d / 2 = %dn", result*2,result);	
}

1.3.1. 소스짠 후 �낀�

함수 �름� 막 짓� 습관� 버리기로했다.
함수를 기능 별로 만들려는 습관� 가지기로 했다.

1.4. 팩토리얼(재귀함수 쓰지않고)

~cpp 
/*1�서 n까지� 곱� 구하는 프로그램입니다. 
	>>팩토리얼- 재귀함수<<를 쓰지않고 !! */
#include <stdio.h>

int fac(int n);
void main()
{
	int num, result;
	printf("n = ");
	scanf("%d", &num);
	result = fac(num);

	printf("%d", result);
}

int fac(int n)
{
	int fac_result = 1,i = 1;
	while(i <= n)
	{
		fac_result *= i;
		i++;
	}

	return fac_result;
}

1.4.1. 소스 짠 후

아�� 프로그래�하는� 세미콜론� 빠트린다�지, scanf 함수를 쓸 때 변수앞� &� 붙지지 않� 때가 다반사다.
습관� 중요하다. ! ! 좋�습관� 만들�!!.

1.5. 입력받� 한문�� 2진수 중 0� 갯수

~cpp 
/*한문�를 입력받아 문�� 비트중 0� 갯수*/
#include <stdio.h>

int countbit(char ch);

void main()
{
	char ch;
	printf("input 한개� 문� ==>");
	scanf("%c", &ch);
	printf("n 0� 갯수 : %dn", countbit(ch));

}

int countbit(char ch)
{
	int count = 0;
	for(; ch != 0; ch>>=1)
	{
		if((~ch) & 1 )
		{
			count++;
		}
	}
	return count;
}

1.6. 단어ì�˜ 갯수를 ìœë ¥

장난으로 짜봤다. 예외처리 하지 않�.
~cpp 
#include <stdio.h>

void main()
{
	int i = 0, count = 0;
	char str[50];
	printf("단어입력 : ");
	gets(str);
	while(str[i])
	{
		if(str[i] == ' ')
		{
		    count++;
		}
		i++;
	}
	printf("단어� 수 : %d n", count+1);
}

1.7. �소문�, 대문�, 특수문�, 수치문�� 갯수

gets 하다가 scanf로 바꾼 ! ㅠ
~cpp 
#include <stdio.h>

void main()
{
	int i = 0, countBig = 0, countSmall = 0, countSpe = 0, countNum = 0;
	char str[100];
	printf("�대문�, �소문�, 수치문�, 특수문�� 수 알아내는 프로그램n");
	printf("문장 입력 : ");
	scanf("%s", str);
	while(str[i] != NULL)
	{
		if((str[i] >= 48) && (str[i] <= 59))
		{	
			countNum++;
		}else if((str[i] >= 65) && (str[i] <= 90))
		{
			countBig++;
		}else if((str[i] >= 97) && (str[i] <= 122))
		{
			countSmall++;
		}else
		{
			countSpe++;
		}
		i++;
	}
	printf("소문� : %d, 대문� : %d, 수치문� : %d, 특수문� : %d", countSmall, countBig, countNum, countSpe);

}

2. Thread

  • 오 ì•„ì˜�ì�´ 열심히 하는ë�° - ìƒ�협
    - �사합니다^^; 다른애들� 비하면 열씸히 하는것� 아니죠 ^^
  • ^^ ìž�ì‹�. 완전 열심히 í•´! 나ë�„ ê°™ì�´ 하ìž�! - ë³´ì°½
    - 네 ^^
  • ^^ ìž�ì‹�. 완전 열심히 í•´! 나ë�„....ì�Œ.. 난 골수까지 귀차니즘ì�´ 스며서..ì—�잇.혼ìž� 열심히 해서 장학금 타서 밥사주!! - 조현태
    - 헉.. 너야�루. 장학금 타면 사줘 !! ㅋㅋ 난 공부할 때 �� 양��� 너무 티를 많� 내서 그렇지.. 보면 별거 없어 ㅠ �게 문제야..ㅋ -허아�
    - 훗... 내 장학금 받아서 얻어먹� ��� 하다니.. 그러다 굶어 죽으려면 어떻하려고..;; 그나저나 왠지 위키가 우리 낙서장� 듯한 �낌�..�... 좋� 현��지 좋지않� 현��지..;; �.. 어쨋든 열심히 하�고.^^ - 조현태
----
허아�

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:32
Processing time 0.0095 sec