네트워크 보안 수업 9일차 - 코리아 정보보안 IT학원

2016. 4. 7. 16:43네트워크 보안 수업/C언어

반응형

[실습]1.



- 1 ~ 100까지의 수 중에서 홀수만 출력하는 프로그램을 작성


#include <stdio.h>


int main(int argc, char *argv[])

{

        int i;


        for(i=1;i<=100;i=i+2){

                        printf("%d\n",i);

        }


        return 0;

}


[실습]2.


- 2^32 을 구하는 프로그램을 작성


#include <stdio.h>


int main(int argc, char *argv[])

{


        int i;

        unsigned long long arpa = 1;


        for(i=1;i<=32;i++){

                arpa = arpa*2;

                if(i==32){

                        printf("%ld \n",arpa);

                }

        }


        return 0;

}



*32비트

int(4) --> %d, %u

long int(4) --> %ld, %lu

long long int(4) --> %lld, %llu


*64비트

int(4) --> %d, %u

long int(8) --> %ld, %lu

long long int(8) --> %lld, %llu


[실습]3.


- 구구단 : 7단 출력


#include <stdio.h>


int main(int argc, char *argv[])


{


        int seven = 7;

        int i;


        for(i=1;i<=9;i++){

                printf("7 x %d = %d\n",i,seven*i);

        }


        return 0;

}


[실습]4.


- 1 ~ 1000까지의 합을 출력하는 프로그램을 작성


#include <stdio.h>


int main(int argc, char *argv[])

{


        int i;

        int sum=0;


        for(i=1;i<=1000;i++){

                sum = sum + i;

                if(i==1000){

                        printf("1~1000까지의 합: %d\n",sum);

                }

        }


        return 0;

}



[실습]5.


- 1 ~ 1000까지의 3의 배수의 합을 구하는 프로그램을 작성


#include <stdio.h>


int main(int argc, char *argv[])

{


        int i;

        int three=0;

        int sum=0;


        for(i=1;i<=1000;i++){

                three = i % 3;

                if(three == 0){

                        sum = sum + i;

                }

                if(i == 1000){

                        printf("%d\n",sum);

                }

        }


        return 0;

}



[과제]


- 1 ~ 100까지의 수 중에서 8은 몇번 나오는가?


두가지 코드가 나옴


물론 이 두개가 답이라는 것은 아님 코드는 사람에 따라 여러가지가 나올 수 있기 때문에. 이보다 좋은 코드가 있거나 잘못된 부분이 있으면 지적해주시면 감사하겠습니다~


첫번째는  if문 중첩을 하지 않고 십의 자리가 8일때와 일의 자리가 8일때 각각 count를 추가 해주는 것

#include <stdio.h>


int main(int argc, char *argv[])


{


        int i;

        int count;

        int ten;

        int one;


        for(i=1;i<=100;i++){

                ten = i / 10;

                one = i % 10;

                if(ten==8){

                        count = count + 1;

                }

                if(one==8){

                        count = count +1;

                }

                if(i==100){

                        printf("%d\n",count);

                }

        }


        return 0;


}


두번째 코드는 if문 중첩을 하여 십의자리가 8일때와 일의 자리가 8일때 or문으로 count를 추가하고 88의경우 별도의 if문으로 count를 추가

#include <stdio.h>


int main(int argc, char *argv[])


{


        int i;

        int count;

        int ten;

        int one;


        for(i=1;i<=100;i++){

                ten = i / 10;

                one = i % 10;

                if(ten==8||one==8){

                        if(ten==8&&one==8){

                                count = count +2;

                        }else{

                        count = count + 1;

                        }

                }

                if(i==100){

                        printf("%d\n",count);

                }

        }


        return 0;


}



반응형