c언어 썸네일형 리스트형 pow 함수 만들기2 C언어 공부해보기(7.소숫점이 가능한 거듭제곱을 함수로 만들어보자) 전에 만든것은 pow를 int로 쓰는 방법이었는데 이번에는 이걸 다시 double형으로 만들어서 1.23^2.2 이런 값도 나오게 하도록 만들어 봤다. 전에 썼던 방법보다 약간 더 간단해진 것 같다 ㅋㅋ scanf로 입력 값 두개를 받아서 ppow함수에 넣으면 계산해서 printf로 나오는 형식이다. 전에는 int 방식으로 하겠다고 복잡했었는데 이번에는 만약 소숫점이 보기 싫다면 0.4라고 되어 있는 부분을 0.0이라고 해놓으면 소숫점 이하는 하나도 안나온다. 시범을 해본 것들ㅋㅋ 아주 잘 계산한다. 물론 마이너스도 잘 된다. 더보기 결과 값을 텍스트 파일에 저장해보자 C언어 공부해보기(6.나온 결과 값을 텍스트 파일 txt에 저장해보자.) 간단하게 어떻게 텍스트 파일에 결과 값들이 저장되는지 시험해 보았다. 최대한 간단하게 해봤다. fopen("주소","w(시행할 때마다 파일을 덮어서 쓰기)) 를 써놓고 fprintf로 써놓은 다음 fclose로 닫았다. 과연?? 바로 뜨는데 과연 D드라이브에 ttest.txt라는 파일이 생겼을까?? 진짜로 텍스트 파일이 생기고 내가 적은대로 나왔다. 그런데 D드라이브가 아니라 C드라이브로 하면 이런 텍스트 파일이 생성되지 않는다. C드라이브에 생성되게 하려면 주소부분을 다 지우고 "이름txt" 만 남기고 쓰면 내문서의 비쥬얼 스튜디오 폴더에 텍스트 파일이 생성된다. 원인은 잘 모르겠다. 더보기 random한 값 만들어보기 C언어 공부해보기(5.random 랜덤함수(rand, srand)로 랜덤한 값 만들어보기) 이번에는 -1에서 1까지에서 시행할 때마다 그 사이에서 소숫점 3자리를 가진 값을 나오게 하도록 했다.rand함수가 그렇게 쓰이는 건데 여기에 같이 붙어다니는 srand 함수가 있다. 만약 srand함수 없이 rand만 쓰면은 돌릴 때마다 항상 똑같은 패턴이 나오게 되므로 랜덤한 값이 아니게 된다. 어쨋든 for문으로 10000번을 돌려서 값들이 나오게 해봤다. rand()%(전체 숫자 개수+1) - (원하는 수) 여기서 전체 숫자 개수가 만약 2000 이라면 0~1999까지의 2000개를 만들 수 있는 것을 뜻한다.그래서 여기에 숫자 1을 더하면 2001개 즉, 0~2000에서 랜덤한 숫자 하나가 나온다. 여기서.. 더보기 1000만까지의 모든 소수 저번에 만들었던 것에서 좀 더 효율적으로 만들어서 1000만까지의 소수를 구했다. 용량이 5.5메가 정도 나온다. 시간은 그렇게 많이 걸린 것 같지 않다. 2억까지의 모든 소수를 구해놨는데 용량이 110메가가 넘어가서 여기에 올릴 수 없을 듯 ㅋㅋ 더보기 10진수를 2진수로 변환시켜보자. C언어 공부해보기(4.10진수를 2진수로 변환시키기) C언어를 배우다보면 기초적인 것 중의 하나인 DEC to BIN 을 알아보자. scanf로 숫자 하나를 입력 받고 그 숫자 보단 낮으면서 가장가까운 2의 배수인 수를 구한다 예) 355를 입력 -> 256이 제일 가까움 120을 입력 -> 64가 제일 가까움 만약 355를 입력하면 256에다가 절반인 128을 더해보고 355을 넘으면 128의 절반인 64를 더해봐서 355를 넘는지 확인한다. 256 + 64 = 320 이므로 128(2^7)에 해당하는 숫자는 0이고 64(2^6)자리에는 1을 받는다. 320에 32를 더해보면 352가 되므로 1을 받는다. 이렇게 차례대로 하다보면... 101100011 이 나올 것이다. 과연 그 결과는 ? 결과는 성공.. 더보기 C언어로 여러 수들을 오름차순으로 나열해보기. C언어 공부해보기(3.숫자들을 크기대로 나열하기) 배열을 이용해 숫자들을 순서대로 나열을 해봤다. 대충 숫자를 잡아 놓고 for문을 이용해 역순으로 가게 한 다음 반복시켜서 차례차례 숫자를 바꾸게 한다음 전체 숫자가 차례대로 나열됐을 때, j=1이되게 해서 for문을 중단시켰다. 그 결과 차례대로 바뀌는 모습이 보인다. 처음에는 아무렇게나 나열되어 있다가 4번만에 순서대로 바뀌었다. 더보기 C언어로 소수를 찾아보자 C언어 공부해보기(2.소수를 찾아보자)엑셀에 있는 매크로로 소수를 찾아본 적 있지만 C언어로는 처음 도전해봤다.어떻게 하면 간단한 코드로 빠르게 소수를 찾을 수 있을까 고민해 봤다.그래서 한번 만들어 봤는데 지금으로써는 이게 최선의 방법 같다. 원리는 i=3에서 시작하고 j=2에서 시작할 때, 3%2가 != 0 이므로 l이 0인 상태로 내부 for문이 끝나게 되고 밑에 조건에 의해 그 때의 i 값이 출력된다.그다음 i=4일때는 j=2일 때 4%2 = 0 이므로 내부 for문 안의 조건문에 의해 l= 1이 되고 break가 되서 출력되지 못하고 i=5로 넘어간다. 이 때, 내부 for문이 끝나고 난뒤 외부 for문 맨 아래에 l=0;을 넣어줘야 된다. 그다음 j는 차례로 2,3,4가 되면서 체크하게 되고 .. 더보기 int로 쓸 수 있는 pow 함수 만들기 C언어 공부해보기(1.거듭제곱을 함수로 만들어보자) pow가 double값으로 나오기 때문에 단순히 자연수의 제곱으로 할 시에는 오류가 떴었다. 그래서 그냥 새로 함수를 만들어서 하면 어떨까 생각해서 만들어 봤는데 뭐 괜찮은 것 같다. 이렇게 할 때 밑의 창에서 scanf 대신 scanf_s를 쓰라고 뜨길래 넣어봤더니 그래도 작동한다. 아마 보안때문이라나.. 결과는 성공!! 아니면 그냥 double로 함수를 만든 후 int 변수로 강제 변환 시켜도 되는 것 같다. 더보기 이전 1 다음