센스 하고는....

'odds and ends' 카테고리의 다른 글

2011.10.05일자 포항 - 신경주 KTX 리무진 버스 시간표  (0) 2011.10.07
먹는거야?  (0) 2010.08.14


마치 아주 맛난 것을 보는 강아지의 표정^^

'odds and ends' 카테고리의 다른 글

2011.10.05일자 포항 - 신경주 KTX 리무진 버스 시간표  (0) 2011.10.07
어느 초딩의 낙서  (0) 2010.08.20
pic by Nexus One

불꽃축제를 보기위해 수많은 사람이 모였다








이건 마무리 피날레 영상입니다^^

이번에 스케일이 포항불꽃축제 역사상 아마 최고가 아니었을까 싶을 정도로

많은 불꽃, 많은 이벤트, 그리고 많은 사람들이 있었고

북부해수욕장에서 하는것도 좋지만,

이번처럼 메인 불꽃을 포스코의 멋진 야경을 배경으로

형산강둔치에서 하는것도 괜찮은거 같다^^

 

한 시간 여의 불꽃축제의 마지막 피날래로

형산강다리에서 불꽃을 뿜어내는 장관을 찍은건데...

거리도 워낙 멀고 폰카의 한계라 ㅠ ㅠ

 

아차... 그리고 초대가수 카라가 왔었다는데...

난 늦게가서 보진 못했다 ㅠㅠㅠㅠ 엉엉

'FAVORITE > traveling' 카테고리의 다른 글

대전 오월드 (2010.9.25)  (0) 2010.11.01
대구 허브힐즈 (2010.8.30)  (0) 2010.10.26
롯데월드 (2010.8.25)  (0) 2010.10.23
신탄진역  (0) 2010.08.01

년, 월을 입력하면 해당 달의 달력을 출력하는 프로그램이다.

#include <stdio.h>

 

int day_of_week(int ,int ); //함수 선언

void print_calendar(int ,int ,int);

void print_head(int ,int );

 

int main(void)

{         

           int year; //

           int month; //

           int day; //해당월 1일의 요일

          

           do {

                     printf("년도와 월을 입력하시오(2009 8과 같은 형식으로)\n>> ");

                     scanf("%d%d",&year,&month); //년월 입력

                     if(month>=1 && month<=12)

                                break;

                     else

                                printf("잘못된 입력입니다\n>> ");

           } while (1);

          

           day = day_of_week(year,month); //해당월 시작요일 구하기

          

           print_head(year,month); //달력 상단부 출력

          

           print_calendar(day,year,month); //달력 날짜 출력

          

           return 0;

}

/****************************/

int day_of_week(int year,int month) //총 일수를 구하는 함수(해당 월 1일이 무슨요일인지 알기위해)

{

           int temp = 0; //임시로 계산에 사용할 변수

           int i; //for 문에서 사용할 변수

          

           for(i=1;i<year;i++) { //년도별 일수

                     if((i%4 == 0) && (i%100 != 0) || (i%400 == 0)) {

                                temp += 366;

                     } else {

                                temp += 365;    

                     }

           }

          

           for(i=1;i<month;i++) { //매 달 일수

                     if ( i==2 ) { // 2월일경우 윤년 검사

                                if((year%4==0) && (year%100 != 0) || (year%400 == 0))

                                          temp += 29;

                                else

                                          temp += 28;

                     }

                     switch (i) {

                     case 1:

                     case 3:

                     case 5:

                     case 7:

                     case 8:

                     case 10:

                     case 12:

                                temp += 31; //한달이 31일인 경우

                                break;

                     case 4:

                     case 6:

                     case 9:

                     case 11:

                                temp += 30; //한달이 30일인 경우

                                break;

                     }

           }

          

           temp = temp + 1; //마지막으로 일수를 더해 총 일 수를 구한다

          

           return temp % 7; //1=,2=...6=,0=

}

/****************************/

void print_calendar(int sd, int year, int month) //달력을 출력하는 함수

{

           int i,j; //for

           int temp; //해달 월의 총 일수

          

           switch (month) { //한달의 일수를 구한다

           case 1:       case 3:       case 5:       case 7:       case 8:       case 10:       case 12:

                     temp = 31; //한달이 31일인 경우

                     break;

           case 4:       case 6:       case 9:       case 11:

                     temp = 30; //한달이 30일인 경우

                     break;

           case 2: //2월의 경우

                     if((year%4==0) && (year%100 != 0) || (year%400 == 0))

                                temp = 29;

                     else

                                temp = 28;

           }

          

           printf("\t      ");

           for(i=1;i<=sd;i++)

                     printf("        ");

           j = sd;

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

                     if(j == 7) { //요일별로 출력되도록 줄바꿈

                                printf("\n\t      ");

                                j = 0;

                     }

                     printf("%2d      ",i);

                     j++;

           }

           printf("\n\n");

}

/****************************/

void print_head(int year,int month) //달력의 상단부 양식을 출력하는 함수

{

           printf("\n\t\t\t\t[%d %02d]\n\n",year,month);

           printf("\t                                          \n");

}


bit연산 프로그램으로 and, or, xor, comp의 연산을 가능하게 작성하였다

#include <stdio.h>

 

int MENU(); //함수 선언

void AND();

void OR();

void XOR();

void Complement();

 

int main(void)

{         

           int ex; //종료를 위한 변수

          

           do {

                     ex = MENU();

           } while (ex != -1);

          

           return 0;

}

/****************************/

int MENU() //메뉴함수

{

           int me; //메뉴

 

           printf("\n*******************비트연산프로그램*******************\n");

           printf("1.AND\t2.OR\t3.XOR\n4.Complement(~)\t5.종료\n");

           printf("******************************************************\n");

           printf("\n메뉴선택 : ");

           scanf("%d",&me);

          

           switch(me) {

           case 1:

                     AND();

                     break;

           case 2:

                     OR();

                     break;

           case 3:

                     XOR();

                     break;

           case 4:

                     Complement();

                     break;

           case 5:

                     return -1;

                     break;

           default :

                     printf("잘못된 입력입니다.\n");

           }

          

           return 0;

}

/****************************/

void AND() { //AND함수

           int a,b,i,mask=1;

           int temp;

 

           printf("두 정수를 입력하시오 : ");

           scanf("%d %d",&a,&b);

 

           printf("   \t\t");

           for(i=31;i>=0;i--)

                     printf("%d",(a&mask<<i)?1:0);

           printf("\nAND\t\t");

           for(i=31;i>=0;i--)

                     printf("%d",(b&mask<<i)?1:0);

           temp = a & b;

           printf("\n--------------------------------------------------------------");

           printf("\n   \t\t");

           for(i=31;i>=0;i--)

                     printf("%d",(temp&mask<<i)?1:0);

           printf(" = %d\n",temp);

}

/****************************/

void OR() { //OR함수

           int a,b,i,mask=1;

           int temp;

 

           printf("두 정수를 입력하시오 : ");

           scanf("%d %d",&a,&b);

 

           printf("   \t\t");

           for(i=31;i>=0;i--)

                     printf("%d",(a&mask<<i)?1:0);

           printf("\nOR \t\t");

           for(i=31;i>=0;i--)

                     printf("%d",(b&mask<<i)?1:0);

           temp = a | b;

           printf("\n--------------------------------------------------------------");

           printf("\n   \t\t");

           for(i=31;i>=0;i--)

                     printf("%d",(temp&mask<<i)?1:0);

           printf(" = %d\n",temp);

}

/****************************/

void XOR() { //XOR함수

           int a,b,i,mask=1;

           int temp;

 

           printf("두 정수를 입력하시오 : ");

           scanf("%d %d",&a,&b);

 

           printf("   \t\t");

           for(i=31;i>=0;i--)

                     printf("%d",(a&mask<<i)?1:0);

           printf("\nXOR\t\t");

           for(i=31;i>=0;i--)

                     printf("%d",(b&mask<<i)?1:0);

           temp = a ^ b;

           printf("\n--------------------------------------------------------------");

           printf("\n   \t\t");

           for(i=31;i>=0;i--)

                     printf("%d",(temp&mask<<i)?1:0);

           printf(" = %d\n",temp);

}

/****************************/

void Complement() { //Complement함수

           int a,i,mask=1;

           int temp;

 

           printf("하나의 정수를 입력하시오 : ");

           scanf("%d",&a);

 

           printf("\nCOMPLEMENT\t");

           for(i=31;i>=0;i--)

                     printf("%d",(a&mask<<i)?1:0);

           temp = ~a;

           printf("\n--------------------------------------------------------------");

           printf("\n          \t");

           for(i=31;i>=0;i--)

                     printf("%d",(temp&mask<<i)?1:0);

           printf(" = %d\n",temp);

}

#include <stdio.h>

 

void trans(int ,int ); //함수 선언

 

int main(void)

{

           int a,b; //두 정수

          

           printf("정수 입력 : ");

           scanf("%d",&a);

           printf("진법입력(2,8,16) : ");

           scanf("%d",&b);

          

           trans(a,b);

          

           return 0;

}

 

void trans(int a,int b) //진법변환 함수

{         

           int i,j = 0;

           int mask = 1;

           int temp;

           if(b == 2) { //2진법일경우

                     for(i=31;i>=0;i--) {

                                temp = (a&mask<<i)?1:0;

                                if(j==0 && temp==0)

                                          continue;

                                else if(j==0 && temp==1) {

                                          printf("%d",temp);

                                          j = 1;

                                } else

                                          printf("%d",temp);

                     }

           }

          

           else if(b == 8) //8진법으로

                     printf("결과-> %o",a);

           else if(b == 16) //16진법으로

                     printf("결과-> %x",a);

           else

                     printf("잘못된 입력입니다.");

           printf("\n");

          

           return ;

}

#include <stdio.h>

 

int gdc(int ,int ); //최대공약수 함수 선언

int lcm(int ,int ); //최소공배수 함수 선언

 

int main(void)

{

           int a,b; //두 정수

          

           printf("두개의 정수를 입력이시오 : ");

           scanf("%d%d",&a,&b);

           printf("%d,%d의 최대공약수는 %d입니다.\n",a,b,gdc(a,b)); //함수사용하여 출력

           printf("%d,%d의 최소공배수는 %d입니다.\n\n",a,b,lcm(a,b)); //함수사용하여 출력

          

           return 0;

}

 

int gdc(int a,int b) //최대공약수를 반환하는 함수

{         

           int i,j;

           int temp; //공약수를 저장할 변수

          

           j = (a<b)?a:b; //둘중 작은수를 구함

          

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

                     if(a%i==0 && b%i==0)

                                temp = i;

           }

          

           return temp;

}

 

int lcm(int a,int b) //최소공배수를 반환하는 함수

{

           int i,j;

           int temp; //공배수를 저장할 변수

          

           j = (a>b)?a:b; //둘중 큰수를 구함

          

           for(i=j;;i++) {

                     if(i%a==0 && i%b==0){

                                temp = i;

                                break;

                     }

           }

          

           return temp;

}


뭐 일반적으로 생각하는 가로로된 sin 그래프가 아닌
쉽게 세로로 출력한다. 각도롤 15도씩 증가하는것으로 하였으며
그래프는 '*'로 출력하였다,

#include <stdio.h>

#include <math.h> //sin함수 쓰기위해 사용

 

#define PI 3.141592

 

void sine(); //함수 선언

 

int main(void)

{

           sine();

 

           return 0;

}

 

void sine(void) //sin값과 그래프를 출력하는 함수

{

           double temp; //sine값을 받을 변수

           int i,j;

 

           for(i=0;i<=360;i+=15) {

                     temp = sin((i*(PI/180))); //sin에 라디안값 넣어줌

                     printf("sin(%3d) = %+.2lf",i,temp);

                     for(j=-10;j<temp*10;j++) //sin값 만큼 띄워줌

                                printf(" ");

                     printf("*\n"); //그래프 찍고 줄바꿈

           }

 

}

+ Recent posts