Day3

C언어

오전

1. 월급을 키보드로부터 입력받아 화폐종류별 매수를 산정하는 프로그램작성.

[입,출력화면]

 월급? 123456
 
 10000원권 12매
  5000원권  0매
  1000원권  3매
   500원권  0매
   100원권  4매
    50원권  1매
    10원권  0매
     5원권  1매
     1원권  1매                

 또 (y/n)? y

2. 아래와 같이 배열에 기억된 숫자들을 오름차순으로 소트하여 출력시키는 프로그램작성.

<소트전>
 M[0] = 5 M[1]=2 M[2]=8 M[3]=4
<소트후>
 M[0] = 2 M[1]=4 M[2]=5 M[3]=8

3. 키보드에서 문자열입력받아 기억장소에 있는 값이 소문자이면 대문자로,대문자이면 소문자로 바꾸어주면서, 공백문자를 없애주는 프로그램작성.
 문자열입력-> HONG GIL DONG 입력시..
 출력데이타: honggildong


오후

1. 실행결과와 같이 출력되도록,구조체배열의 name필드의 이름이 가나다순으로 정렬되게 프로그램을 작성.
 ->    이름     나이
      유승석     5
      조효은     7
      최운진     2

2. 실행결과와 같이 출력되도록,구조체배열의 year필드의 나이가 작은순에서 큰순으로 정렬되게 프로그램을 작성.
 ->    이름     나이
      최운진     2
      유승석     5
      조효은     7

3. 학생들에 관한 데이터를 처리하는 학사관리시스템을 구현한다. 이때 학생마다 이름,주소,나이,학번,성별,학점을 데이터로 처리한다. 데이터를 하나로 묶어 처리할수 있는 구조체를 선언하고 [홍길동,서울,20,2000,남,3.5]로 구성된 자료를 입력받고, 화면에 그값을 출력해 본다.

4. 문자열에서 공백문자를 제거하는 함수를 작성하라.
 함수원형(prototype) : void StringNoSpace(char *str1);
 char *m = “I Love You”;
ILoveYou

5. 두 문자열이 같은지 비교하는 함수를 작성하라.
 함수원형(prototype) : int StringComp(char *str1,char *str2);
 char *m1 = “I Love You”;
 char *m2 =  “l Love You;
-> 같은 문자열

6. Guess Game을 작성하라. 어떠한 숫자를 입력할 때 정답보다 크면 크다, 작으면 작다라는 메시지를 주어 미리 정해진 정답을 맞추도록 유도한다.

오전



오후

Day2

C언어

오전

1. 아래와 같이 화면에 출력
            ****
             ***
              **
               *

2. 아래와 같이 화면에 출력

            A***
            *B**
            **C*
            ***D

3. 아래와 같이 화면에 출력

            01
            0203
            040506
            07080910

4. 키보드로부터 단을 입력받아 해당단을 출력시켜주는 프로그램(구구단)작성하라.

5. 키보드로부터 정수값을 입력받아 1부터 입력받은정수값사이에 있는 숫자중에서 3의 배수의 값은 몇개존재하는지 판별하는 프로그램작성하라.


오후

1. 서기 1년1월1일부터 어떤 년,월,일까지의 총날짜수를 구하는 함수를작성하라.
nalsu(1993,2,15); 호출시 서기 1년1월1일부터 1993년2월15일까지의 총날수를 구하는 함수를 작성..

2. 위의 nalsu()함수를 이용하여 요일을 출력시켜주는 함수를 작성하라.
yoil(1994,1,1); 호출시 1994년1월1일에 대한 요일출력하는 함수작성..

3. 어떤 해에 대한 띠를 출력시켜주는 함수를 작성하라.
tti(1970); 호출시 "개"라고 출력하는 함수작성..

4. 문자열에서 어떤 문자가 몇개있는지 카운트하는 함수를 작성하라.
함수원형(prototype) : int CountChar(char *str,char ch);
char *m = "I Love You";
char c = 'o'

I Love You 에는 o가 2개있다..

5. 문자열에서 문자열 추가하는 함수를 작성하라.
함수원형(prototype) : void StringCat(char *str1, char *str2);
char *m1 = “I Love”;
char *m2 = “You”

I Love You

6. 문자열을 뒤집는 함수를 작성하라.
함수원형(prototype) : void StringRev(char *str1);

오전


오후

Day1

C언어

1. 10진법을 2진법으로 변경하는 프로그램(2진법을 10진법으로 구하는 프로그램)

2. 2g, 3g, 5g추가 각각 10개씩 있다. 이 추들을 이용하여 81g을 만드는 경우를 출력하는 프로그램(단 사용하지 않는 추가 있을 수도 있다)

3. 세수를 입력받아 그중에서 가장 큰수를 찾는 프로그램을 이항연산자를 이용해 작성하라.

4. 서로 다른 다섯 숫자(1,2,3,4,5)에서 서로 다른 숫자 3개를 선택하는 경우(단 123과 213은 같다)를 출력하는 프로그램

5. 서로 다른 다섯 숫자(1,2,3,4,5)에서 서로 다른 숫자 3개를 선택하여 나열하는 경우를 출력하는 프로그램(단 123과 213, 321…는 모두 다르다.)

  1. 양진혁 2009.03.11 23:14 신고

    int main(void)
    {

    int a;
    int b;
    int c;
    int i=0;
    int x[10];
    printf("10진법을 2진법으로 변경하는 프로그램\n");
    printf("정수 입력\n");
    scanf("%d", &c);// 값을 입력 받는다


    while(c!=0)// 값이 0 일때 종료
    {

    a=c/2; //a는 입력값 나누기 2로 해준다
    b=c%2; //나눠서 나머지를 반환한다
    x[i]=b; //반환한 나머지를 저장 한다10번째까지 오버 하면.,. 에러 ㅋㅋ
    i++; //i 값을 0 부터 1씩 증가 한다 이유:배열 1개 마다 숫자 들어가야 하기 때문
    c=a; // 0이 나올떄까지 반복 a=c/2; 이부분 으로 다시 시작
    }

    for(--i;i>=0;i--)//뒷부터 나오기 위해 쓰임
    printf("%d",x[i]);// 출력 부분

    return 0;

    }

    • 띵스 2009.03.12 11:39 신고

      함수쓰고, 변수줄이고,
      고생핸~ㅋㅋ
      int main() 이렇게 하면
      리턴안해줘도 되겠지 ㅎ
      return 0은 정상종료고
      -1은 에러였나;;
      암튼 C기본은 int main(void)에
      void란게 리턴이 없는 타입이라
      안해줘도 되지만 정상종료를 뜻하지
      요즘엔 void main()으로도 에러가 안나게됐지

  2. 양진혁 2009.03.15 22:24 신고

    아 정말로 계속 에러 나오고 2번 문제는
    형처럼 안나오맨 마씸 ㅡㅡ;;;

    • 띵스 2009.03.16 15:04 신고

      내껄 먼저 보지말고 혼자 먼저 하래도..ㅡㅡ;

  3. 양진혁 2009.03.15 22:32 신고

    #include <stdio.h>



    int a=2 ,b=3, c=5;
    int total=81;
    int na, nb, nc;
    int sum;

    void sNum()
    {

    int i=0;
    for(na=0; na<=10; na++)
    {
    for(nb=0;nb<=10; nb++)
    {
    for(nc=0; nc<=10; nc++)
    {
    sum=a*na+b*nb+c*nc;
    if(total==sum)
    {
    printf("2g:%d개\t 3g: %d개\t 5g :%d\n",na,nb,nc);
    i++;

    }
    }
    }
    }

    printf("총 %d 가지 경우 \n",i);


    }
    void main(void)
    {
    sNum();
    }

    • 띵스 2009.03.16 15:10 신고

      아.. 기억 가물가물한데 이거 0부터 올라가면 아마 제대로 안나올꺼라 그리고 들여쓰기가 안먹어서 보기힘들다 ㅋㅋ

      void main()
      {
      sNum();
      }
      void가 들어가면 에러 안나나;; 모르겠군

  4. 양진혁 2009.03.15 22:32 신고

    이거 형거 참고 해서 했는데.,.,.,
    내가 한것은 이상하게 나오맨 마씸

    • 띵스 2009.03.16 15:09 신고

      절대 내꺼 먼저 보지말아라 니가 먼저해보고 해야 뭔지 알지 먼저 다른사람꺼 보면 백번을 똑같은거 해봐야 몰라 ㅡㅡ;

  5. 양진혁 2009.03.15 22:34 신고

    #include <stdio.h>

    int main(void)
    {

    int a=2 ,b=3, c=5;
    int total=81;
    int na, nb, nc;
    int sum;
    int i=0;

    for(na=0; na<=10; na++)
    {
    for(nb=0;nb<=10; nb++)
    {
    for(nc=0; nc<=10; nc++)
    {
    sum=a*na+b*nb+c*nc;
    if(total==sum)
    i++;
    {
    }
    }
    }
    }
    printf("2g:%d개\t 3g: %d개\t 5g :%d\t",na,nb,nc);

    printf("총 %d 가지 경우 \n",i);


    }

  6. 양진혁 2009.03.15 22:34 신고

    밑에것은 내가 한것데요 ㅡㅡ;;;;;;;;;;;;;;;;;;;;;;
    형처럼 안나오맨 ㅋㅋ

  7. 양진혁 2009.03.16 00:40 신고

    #include <stdio.h>
    #define N 10


    int a,b,c;
    int r;
    int x[N]={10};



    void anum()

    printf("10진법을 2진법으로 변경하는 프로그램\n");
    printf("정수 입력\n");
    scanf("%d", &a);
    }
    void bnum()
    int i=0;
    c=a;
    while(c)
    {
    r=c%2;
    x[i]=r;
    c=c/2;

    i++;

    }
    printf("2진수로 변환되는 값\n");
    for(--i;i>=0;i--)
    printf("%d",x[i]);
    }


    void main()
    {
    anum();
    bnum();
    }


    이것좀 형것 보면서 했는데.,.,,
    에러 이빠이 ㅡㅢㅣㅣ
    이유는??

    • 띵스 2009.03.16 15:12 신고

      당연한거 아냐? 괄호 어디다 빼먹었나 다빼먹었네

  8. 양진혁 2009.03.16 01:46 신고

    #include <stdio.h>

    void Max();
    void Min();
    int c;
    int b;
    int a;
    int x[10];
    void main()
    {

    Min();
    Max();
    }


    void Min()

    {

    printf("10진법을 2진법으로 변경하는 프로그램\n");
    printf("정수 입력\n");
    scanf("%d",&c);
    }
    void Max()
    {
    int i=0;

    while(c)
    {

    a=c/2;
    b=c%2;
    x[i]=b;
    i++;
    c=a;
    }
    printf("2진수로 변환된 값은:");
    for(--i;i>=0;i--)
    printf("%d",x[i]);
    }




    ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
    형것 참조 하면서 ㅋㅋ
    완성 했음

    변수 1개 줄이고 ㅋㅋㅋ
    int 랑 void 헤갈림..
    가르쳐 주삼
    형그리고 여기서 #define N 10 하면 에러 뜨맨
    이유가 뭐에요?????

    • 띵스 2009.03.16 15:20 신고

      void는 리턴타입이 없는거라서 함수를 작성하고 return을 안써줘도 되는거고 기본자료형으로 함수를 작성하게 되면 return을 써주는데 어떤 인자를 반환할 수도 있고 정상종료를 나타낼 수도 있고 오류를 나타낼 수도 있고 이건 좀 찾아봐라 #define N 10 을 해서 에러난게 아니라 정의할때 초기화 잘못시키거나해서 그런거 같은데..ㅡㅡ;

      암튼 내꺼 먼저 보기만해봐라

      니가 생각해서 풀어

+ Recent posts