06/07/10 수업내용

DEVELOP/C 2006. 7. 10. 17:20

////////////////////////////////////////////////////////////
//받은값을 절대값으로 돌려주기
////////////////////////////////////////////////////////////

#include <stdio.h>

int my_abs(int inputA)
{
int temp;
temp=inputA;
if (temp<0) temp*=(-1);

return temp;
}
int main()
{
int inputA,outputA;

printf("정수를 입력해보련");
scanf("%d",&inputA);

outputA=my_abs(inputA);

printf("%d",outputA);

return 0;

}


////////////////////////////////////////////////////////////
//입력받은 값을 몇제곱하기
////////////////////////////////////////////////////////////

#include <stdio.h>

int my_pow(double inputA, int n)
{
int i=1;
double temp=1.0;

while(i<=n)
{
temp=temp*inputA;
i++;
}

return temp;
}

int main()
{
int inputB=1;
double inputA,outputA;

printf("실수를 입력해보련\n");
scanf("%lf",&inputA);

while(inputB<2)
{
printf("몇제곱 해주리?\n");
scanf("%d",&inputB);
}

outputA=my_pow(inputA,inputB);

printf("%.3lf",outputA);

return 0;

}


////////////////////////////////////////////////////////////
//다이아 모양 출력하기
////////////////////////////////////////////////////////////
#include <stdio.h>

void gonggan(int a)
{
int i;
// printf("%d",a);
if (a<0) a*=(-1);

for(i=0;i<a;i++)
{
 printf(" ");
}
}

void byul(int a)
{
int i;
if (a<0) a*=(-1);
// printf("%d",a);
for(i=0;i<a;i++)
{
 printf("*");
}
}

int main()
{
int i,n,cs,bs;
n=1;


while(n>=1)
{
printf("가로행 크기를 입력하시오.\n");
scanf("%d",&n);
if (n%2==0) n-=
 1;
 for(i=1;i<=n;i++)
 {
  cs=i-(n+1)/2;
  if (cs>0) cs*=(-1);
  bs=(n+2*cs);
  gonggan(cs);
  byul(bs);
//   printf("%d/%d/%d",cs,bs,cs);
  printf("\n");
 }

return 0;
}

////////////////////////////////////////////////////////////
//양수값만 받아 출력하기
////////////////////////////////////////////////////////////
#include <stdio.h>

int get_pos();

int get_pos()
{
int res=-1;
while(res<0)
{
printf("양수입력 :");
if (scanf("%d",&res)==0) fflush(stdin);
//문자입력시 자동리턴 (scanf 가 0을 돌려줌)되어서 버퍼참조를 자꾸되므로
//버퍼를 날려줘서 해결한다.
//  if (res<0) res*=(-1);
if (res<0) printf("음수쟈녀!!!\n");
}
return res;
}

int main()
{
int pos;

pos=get_pos();
printf("양수:%d\n",pos);

return 0;
}

AND

새벽1시 넘어서 자바반에 놀러가보니
두명이 문제를 못풀어 낑낑대고있어서..
컨셉을 설명해주고 왔다.

심심해서 집에와서 설명해준대로 해본 코딩..

#include <stdio.h>

int main()
{
int inputA, inputB, inputC, temp; //변수선언
int La,Lb,Lc,Ltemp;
int constant=55;     //기준값

printf("A값을입력하시오 : ");  //값 할당받기
scanf("%d",&inputA);
printf("B값을입력하시오 : ");
scanf("%d",&inputB);
printf("C값을입력하시오 : ");
scanf("%d",&inputC);

La=constant-inputA;     //거리측정
Lb=constant-inputB;
Lc=constant-inputC;

La=La*La;       //절대거리산정
Lb=Lb*Lb;
Lc=Lc*Lc;

if (Lb>Lc)       //크기비교후 자리바꾸기
{
Ltemp=Lb;
Lb=Lc;
Lc=Ltemp;

temp=inputB;
inputB=inputC;
inputC=temp;
}
if (La>Lb)
{
Ltemp=Lb;
Lb=La;
La=Ltemp;

temp=inputB;
inputB=inputA;
inputA=temp;
}
if (Lb>Lc)
{
Ltemp=Lb;
Lb=La;
La=Ltemp;

temp=inputB;
inputB=inputA;
inputA=temp;
}

printf("55에서 가까운 순서는 %d->%d->%d",inputA,inputB,inputC); //출력

return 0;
}

AND

AND

06/07/07 숙제

DEVELOP/C 2006. 7. 7. 20:25
에고 힘들다
AND

06/07/07 수업내용

DEVELOP/C 2006. 7. 7. 20:24
음냐.. ++문
AND

逆に   ぎゃくに    반대로
休憩   きゅうけい   휴게
吸収   きゅうしゅう   흡수
急速   きゅうそく   급속함
記録的   きろくてき   기록적
均衡   きんこう   균형
近郊   きんこう   근교
緊張   きんちょう   긴장
崩れる   くずれる   무너지다
配る   くばる    나누어지다
経緯   けいい    경위
経営   けいえい   경영
軽率   けいそつ   경솔
携帯   けいたい   휴대
原因   げんいん   원인
現象   げんしょう   현상
検討   けんとう   검토
賢明   けんめい   현명함
好意   こうい    호의
行為   こうい    행위
強引   ごういん   강행
公演   こうえん   공연
効果   こうか    효과
豪華   ごうか    호화로움
後悔   こうかい   후회
交換   こうかん   교환
交差点   こうさてん   교차로

公衆   こうしゅう   공중
交渉   そうしょう   교섭
構造   こうぞう    구조
校庭   こうてい   교정
肯定的   こうていてき  긍정적
興奮   こうふん   흥분
誤解   ごかい    오해
故障   こしょう    고장
断る   ことわる   거절하다
混乱   こんらん   혼란
催促   さいそく    재촉
採用   さいよう    채용
盛ん   さかん    번성함
索引   さくいん    색인
避ける   さける    피하다
支える   ささえる    지탱하다
撮影   さつえい   촬영
参加   さんか    참가
志向   しこう    지향
思考   しこう    사고
事項   じこう    사항
湿度   しつど    습도
失敗   しっぱい   실패
指摘   してき    지적
指導   しどう    지도
児童   じどう    아동
脂肪   しぼう    지방
AND

06/07/06 수업내용

DEVELOP/C 2006. 7. 6. 15:06

switch (조건식)
{
  case 상수식1: 실행문장1;
  case 상수식2: 실행문장2;
  case 상수식3: 실행문장3;
  case 상수식4: 실행문장4;
  default: 실행문장 n;
}
상수식에 변수가 들어갈 수 없음
조건식은 정수가 나와야 함.

AND

06/07/05 숙제

DEVELOP/C 2006. 7. 5. 22:46
에고 힘들었다. 4시간은 걸린듯
AND

06/07/05 수업내용

DEVELOP/C 2006. 7. 5. 14:55

char ch;
sizeof ch
sizeof 'A'


6장

// %[flag][width][.precisioin][modifier]변환문자
//매핑문자or정렬방식/공간확보/소수점길이설정/
//flag : #, 0, -
printf("%#o",a);
printf("%9o",a);
printf("%-o",a);




제어문
선택문 : if, switch~case
반복문 : do~while, while, for
분기문 : break, continue, goto, return

if문

관계연산자
<, <=, >, >=, ==, !=

논리연산자
and, or, not
&&, ||, !

short circuit기능

a>10 && a<20
-> 1 && 0
-> 0


#include <stdio.h>

int main()
{
int hakjeom;
scanf("%d",&hakjeom);
// double a,b, res=0;
// scanf("%lf%lf",&a,&b);
// res=a/(b*b);

// if (res>=20 && res<25) printf("100만불짜리 몸매");
// if (res<20 || res>=25) printf("헬스장좀 댕겨라");

// if (res>=25) printf("%lf\t과체중",res);
// else if (res>=20) printf("%lf\t표준체중",res);
// else if (res<20) printf("%lf\t저체중",res);

// if (res>=20 && res<25) printf("100만불짜리 몸매");
// else if (res<20) printf("%lf\t저체중",res);
// else if (res>=25) printf("%lf\t과체중",res);

if (hakjeom >= 90) printf("A\t");
else if (hakjeom >= 80) printf("B\t");
else if (hakjeom >= 70) printf("C\t");
else printf("F\t");

return 0;
}

AND

回答  かいとう 회답
該当  がいとう 해당
回復  かいふく 회복
返す  かえす  돌려주다
格差  かくさ  격차
重ねる  かさねる 겹치다
楽器  がっき  악기
観客  かんきゃく 관객
観察  かんさつ 관찰
勘定  かんじょう 계산
歓声  かんせい 환성
感染  かんせん 감염
観測  かんそく 관측
簡単  かんたん 간단함
缶詰  かんづめ 통조림
看板  かんばん 간판
慣例  かんれい 관례
漢和  かんわ  중국어와일본어
緩和  かんわ  완화
機会  きかい  기회
企画  きかく  기획
気候  きこう  기후
築く   きずく  쌓다
規制  きせい  규제
偽造  ぎぞう  위조
貴重  きちょう  귀중함
AND

鮮やか
与える
余る
意義
位置
一般
依頼
隠居
印刷

運営
影響
栄養
延期
お菓子
惜しむ
襲う
衰え
温和
介護
改札口
回収
解消
改善
快適
AND

06/07/04 수업내용

DEVELOP/C 2006. 7. 4. 15:17
1010  /  A  /  10
1011  /  B  /  11

1100  /  C  /  12
1101  /  D  /  13

1110  /  E  /  14
1111  /  F  /  15


*000 0000 0000 0000 0000 0000 0000 000# //32bit 2^8=256가지
* = MSB(Most Significant Bit)
# = LSB(Least Significant Bit)

2^3  /  8가지
2^4  /  16가지
2^5  /  32가지
2^6  /  64가지
2^7  /  128가지
2^8  /  256가지
......
2^16  /  65536가지
......
2^32  /  4294967296가지

modular operation
1111 + 1 = (1)0000



0에대한 1의보수 1    +1
1에대한 1의보수 0    +1

0에대한 2의보수 10
1에대한 2의보수 1

1의 보수
  0101
+1010
------
1111

2의 보수
  0101  //5
+1011  //-5
------
0000

0000 0000 0000 0000 0000 0000 0000 1010 //10
1111 1111 1111 1111 1111 1111 1111 0101 + 1
1111 1111 1111 1111 1111 1111 1111 0110 //-10 ??

0000 0000 0000 0000 0110 1001 0000 0000 //??
1111 1111 1111 1111 1001 0110 1111 1111 + 1
1111 1111 1111 1111 1001 0111 0000 0000 //-??
//가장 마지막 에 나오는 0을 1로 바꾸고 그이후의 1은 0으로 바꿈!!!!

4칸으로
-8~0~7(~15)까지 저장가능

signed int a=-1;
unsigned int b=255;

char ch=-1;
printf("%d",ch);
signed  /  %u  /  4294967295
unsigned  /  %u  /  255

____ ____ ____ ____ ____ ____  1111 1111  //char
1111 1111 1111 1111 1111 1111 1111 1111  //singned
0000 0000 0000 0000 0000 0000  1111 1111  //unsigned(바뀌었나??)
//확장시 주의!!!
//입력시는 문제없음!!!



double db=6.5;
6.5 -> 110.1 -> 1.101x2^2(normalization:정규화된 표현법)
정규화의 장점
1.부호 : +
2.지수 : 2
3.유효숫자 : 1101

IEEE
single : 4자리
double : 8
quad : 16

____ ____ ____ ____ ____ ____ ____ ____
0___ ____ ____ ____ ____ ____ ____ ____  //부호 1비트 63
_100 0000 0000 ____ ____ ____ ____ ____  //지수 11비트 62~52
____ ____ ____ 1010 00.......................0 //유효숫자 나머지.. 51~0
//2진수를 지수로 표현시 맨 앞자리는 1이므로 1을 제외한 유효숫자를 기입
1101 -> _101

2^53=10^x
x=약15
까지 저장가능

그에반해
1234568901234567890은 정확히 처리곤란
유효숫자가 더 많기 때문에

0.1234567890123456789
%lf  // 소수점6째자리까지..(기본)
%.30lf  // 소수점 30째자리까지
AND

06/07/03 수업내용

DEVELOP/C 2006. 7. 3. 14:33

숫자
  정수
  실수
문자
문자열

printf("%d",12)
        %x
        %o

printf("%d",12);
        %d,014  //8진수
        %d,0xc  //16진수

0.0000145=0.145x10^-4=-.145e-4  //표기~!!!


자동형변형
10/4.0
정수/실수->실수/실수=>실수

int main()
{
  int a,b;
  printf("두개의 정수를 입력:");
  scanf("%d%d",&a,&b);
  res=a/b;
  printf("a를 b로 나눈 값은 %lf\n",res);
  return 0;
}


형변환 연산자
res=a/b;
=>res=a/(double)b;
실수로 변환되어 연산..


#include <stdio.h>

int main()
{
int m_sal, ex_sal;
double taxrate, m_tax, t_sal, i_sal;

printf("본봉, 보너스, 세금을 입력하시오");
scanf("%d%d%lf",&m_sal,&ex_sal,&taxrate);

t_sal=m_sal+ex_sal;
// printf("%f",t_sal);
m_tax=t_sal*taxrate;
// printf("%f",m_tax);
i_sal=t_sal-m_tax;
printf("%lf",i_sal);
return 0;
}






#include <stdio.h>

int main()
{
int korean,english,mathm,t_score;//국 영 수
double avg_score;

printf("국어 영어 수학");
scanf("%d%d%d",&korean,&english,&mathm);

t_score=korean+english+mathm;
avg_score=(double)t_score/3.0;

printf("%d\t%d\t%d\n",korean,english,mathm);
printf("%d\t%lf",t_score,avg_score);
return 0;
}




연산자
+  -  *  /  %
10/3=3
10%3=1
10%3.0=??  //error,정수형만 나머지가 존재하므로




#include <stdio.h>

int main()
{

int input,fee,temp,charge,coin500,coin100,coin50,coin10;//입력금액,요금,거스름돈,동전별 개수
int c500,c100,c50,c10;//각동전별 현 보유개수

printf("현재 남은 동전 개수를 넣으시오. 500, 100, 50, 10");
scanf("%d%d%d%d",&c500,&c100,&c50,&c10); //입력받기
input=0;
while(1)//자판기에 투입한 돈 체크
{
printf("돈입력받기");
scanf("%d",&temp);
//  printf("%d\t",temp);

if (temp==0) break;
input=input+temp;
//  printf("%d\t",input);
temp=0;
}
printf("물건값은?");//고른물건 값 체크
scanf("%d",&fee);
printf("%d\t%d\n",input,fee);

charge=input-fee;//거스름돈 계산
coin500=charge/500;
if (coin500>=c500) coin500=c500;
coin100=(charge-(coin500*500))/100;
if (coin100>=c100) coin100=c100;
coin50=(charge-(coin500*500)-(coin100*100))/50;
if (coin50>=c50) coin50=c50;
coin10=(charge-(coin500*500)-(coin100*100)-(coin50*50))/10;
if (coin10>=c10)
printf("돈없다"); //불가

printf("500:%d\t100:%d\t50:%d\t10:%d\t총액:%d",coin500,coin100,coin50,coin10,charge);

}




#include <stdio.h>

int main()
{
int i=0;
while(i<72)
{
printf("%2dx%2d=%2d\t",i/9+2,i%9+1,(i/9+2)*(i%9+1));
i++;
}
return 0;
}

AND

유지
위반
횡단
가두
환경
건조
기사
엄하다
게재
경제
공헌
자기
습관
취직
소개
증거
진지함
심사
세기
성공
태세
바라보다
배경
피해
평판
보급
복장
모집
우승
용이함
양성
요청
양상

いじ
いはん
おうだん
がいとう
かんきょう
かんそう
きじ
きびしい
けいざい
こうけん
じこ
しゅうかん
しゅうしょく
しょうかい
しょうこ
しんけん
しんさ
せいき
せいこう
たいせい
ながめる
はいけい
ひがい
ひょうばん
ふきゅう
ふくそう
ほしゅう
ゆうしょう
ようい
ようせい
ようせい
ようそう
乾燥
学校

維持
違反
横断
街頭
環境
記事
厳しい
掲載
経済
貢献
自己
習慣
就職
紹介
証拠
真剣
審査
世紀
成功
態勢
眺める
背景
被害
評判
普及
服装
募集
優勝
容易
養成
要請
様相

AND

06/06/30 추가숙제

DEVELOP/C 2006. 7. 1. 17:47

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

#define ENTER 0x000d
#define SPACE 0x0020

void main()
{
unsigned int temp;
char temp2[10];

while(temp2[0] != ENTER)
{
printf("정수를 입력하세요 : ");
scanf("%s",&temp2);
temp=atoi(temp2);
printf("입력한 정수는 %d입니다.\n",temp);
fflush(stdin);
}

}

/*
키보드로부터 정수값을 반복적으로 입력 받아
입력 한 값을 출력합니다.
계속 반복하다가 숫자를 입력하지 않고
엔터만 치면 프로그램이 종료되도록 합니다.

실행결과는 다음과 같습니다.

------------------------------------------
정수를 입력하세요 : 10(엔터)
입력한 정수는 10입니다.

정수를 입력하세요 : 20(엔터)
입력한 정수는 20입니다.

정수를 입력하세요 : 30(엔터)
입력한 정수는 30입니다.

....(계속 반복함)

정수를 입력하세요 : (엔터)
*/

AND