메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

묻고 답하기
조회 수 7,510 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 쓰기 목록
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 쓰기 목록
?
  • Question 2013.05.10 17:48 글쓴이

    #include <stdio.h>

     

    int main(void)

    {

               int a[20]={0,1,2,9,4,5,9,7,8,9,

                                8,7,6,5,4,3,2,1,0,1};

     

               int sum = 0;

        int *p =a;

     

               // 홀수의값을얻으려면2개씩더해서..

               for(int i=0;i<20;i+=2)

               {

                         sum += *(p+i);

     

               }

               printf("\nSUM = %d",sum);

     

     

     

     

     

               ///////////////////////////////////////////////////////////////

               //   2번째

     

     

               // 다시a 의포인터를받자

                p =a;

     

                // 첫번째주소출력

                printf("\nFirst Address = %d",a);

                

               for(int i=0;i<20;i++)

               {

                         if(*(p+i) ==9)

                         {

                                     printf("\n9' Address = %d",p+i);

                         }         

               }

               printf("\nSUM = %d",sum);

     

     

     

     

               ///////////////////////////////////////////////////////////////

               //   3번째

     

     

               // 다시a 의포인터를받자

                p =a;

     

              for(int i=1;i<20;i++)

               {

                         if(*(p+i) ==9) //9 라면

                         {

                                     printf("\n9' Address = %d", i);

                                    for(int j=i-1;j>=0;j--)

                                    {

                                              if(*(p+j)==9) break; // 이미앞에9가있다면바꾸지않겠다.

                                             

                                              // 9 가없다면앞으로이동하자.

                                              int temp = *(p+j+1);

                                              *(p+j+1) = *(p+j);

                                              *(p+j) =  temp;

     

                                               printf("\nj = %d", j);

                                    }

                                   

                         }

                

               }

     

                p =a;

                printf("\n result:");

                for(int i=0;i<20;i+=1)

               {

                         printf(" %d", *(p+i));

     

               }

     

    }

     


목록
Board Pagination Prev 1 Next
/ 1