센스 하고는....
'odds and ends' 카테고리의 다른 글
2011.10.05일자 포항 - 신경주 KTX 리무진 버스 시간표 (0) | 2011.10.07 |
---|---|
먹는거야? (0) | 2010.08.14 |
2011.10.05일자 포항 - 신경주 KTX 리무진 버스 시간표 (0) | 2011.10.07 |
---|---|
먹는거야? (0) | 2010.08.14 |
2011.10.05일자 포항 - 신경주 KTX 리무진 버스 시간표 (0) | 2011.10.07 |
---|---|
어느 초딩의 낙서 (0) | 2010.08.20 |
이번에 스케일이 포항불꽃축제 역사상 아마 최고가 아니었을까 싶을 정도로
많은 불꽃, 많은 이벤트, 그리고 많은 사람들이 있었고
북부해수욕장에서 하는것도 좋지만,
이번처럼 메인 불꽃을 포스코의 멋진 야경을 배경으로
형산강둔치에서 하는것도 괜찮은거 같다^^
한 시간 여의 불꽃축제의 마지막 피날래로
형산강다리에서 불꽃을 뿜어내는 장관을 찍은건데...
거리도 워낙 멀고 폰카의 한계라 ㅠ ㅠ
아차... 그리고 초대가수 카라가 왔었다는데...
난 늦게가서 보진 못했다 ㅠㅠㅠㅠ 엉엉
대전 오월드 (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");
}
[C 예제] 비트연산 프로그램 (0) | 2010.08.03 |
---|---|
[C 예제] 10진법 정수를 입력하여 2진법,8진법 또는 16진법으로 변환하기 (0) | 2010.08.03 |
[C 예제] 최대공약수, 최소공배수를 구하는 프로그램 (0) | 2010.08.03 |
[C 예제] sin 그래프 그리기 (0) | 2010.08.03 |
[C 예제] 사용자 함수를 이용하여 복리계산 (0) | 2010.08.01 |
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);
}
[C 예제] 달력 프로그램 (0) | 2010.08.03 |
---|---|
[C 예제] 10진법 정수를 입력하여 2진법,8진법 또는 16진법으로 변환하기 (0) | 2010.08.03 |
[C 예제] 최대공약수, 최소공배수를 구하는 프로그램 (0) | 2010.08.03 |
[C 예제] sin 그래프 그리기 (0) | 2010.08.03 |
[C 예제] 사용자 함수를 이용하여 복리계산 (0) | 2010.08.01 |
#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 ;
}
[C 예제] 달력 프로그램 (0) | 2010.08.03 |
---|---|
[C 예제] 비트연산 프로그램 (0) | 2010.08.03 |
[C 예제] 최대공약수, 최소공배수를 구하는 프로그램 (0) | 2010.08.03 |
[C 예제] sin 그래프 그리기 (0) | 2010.08.03 |
[C 예제] 사용자 함수를 이용하여 복리계산 (0) | 2010.08.01 |
#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;
}
[C 예제] 비트연산 프로그램 (0) | 2010.08.03 |
---|---|
[C 예제] 10진법 정수를 입력하여 2진법,8진법 또는 16진법으로 변환하기 (0) | 2010.08.03 |
[C 예제] sin 그래프 그리기 (0) | 2010.08.03 |
[C 예제] 사용자 함수를 이용하여 복리계산 (0) | 2010.08.01 |
[C 예제] 문장을 입력하고 각 문자의 아스키 코드 출력 (0) | 2010.08.01 |
뭐 일반적으로 생각하는 가로로된 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"); //그래프 찍고 줄바꿈
}
}
[C 예제] 10진법 정수를 입력하여 2진법,8진법 또는 16진법으로 변환하기 (0) | 2010.08.03 |
---|---|
[C 예제] 최대공약수, 최소공배수를 구하는 프로그램 (0) | 2010.08.03 |
[C 예제] 사용자 함수를 이용하여 복리계산 (0) | 2010.08.01 |
[C 예제] 문장을 입력하고 각 문자의 아스키 코드 출력 (0) | 2010.08.01 |
[C 예제] 소수인지 판별하는 프로그램 (0) | 2010.08.01 |