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