반응형

분류 전체보기 115

[C] 방정식을 계산하는 프로그램

다음과 같은 방정식이 있다고 할 때, a,b,c,x의 값을 차례로 입력받고 이를 이용해 방정식의 값을 계산하는 프로그램을 만들어 볼 것이다. ax^2+bx+c a,b,c,x의 자료형은 실수형이다. 이는 간단하게 만들어 볼 수 있다.#include int main() { float a,b,c,x; scanf("%f %f %f %f",&a,&b,&c,&x); printf("%f",a*x*x+b*x+c); return 0;} 출력 예시는 아래와 같다.1 4 5 10145.000000

C언어/예제 2024.10.15

[C] 숫자의 각 자릿수를 공백으로 분리하여 출력하는 프로그램2

앞서 똑같은 프로그램을 만들어 본 적이 있다.(※ 숫자의 각 자릿수를 공백으로 분리하여 출력하는 프로그램: https://thpop.tistory.com/13) 앞선 경우에서는 %d를 이용하여 프로그램을 만들었지만, 이번에는 %c를 이용하여 프로그램을 만들어 볼 것이다. 이때 주의해야 될 점은 %c를 이용하여 값을 입력받게 되면, 이는 아스키코드의 형태로 저장된다는 것이다.즉 프로그램이 0을 입력받았다면, %c에 저장되는 값은 48인 것이다.따라서 이를 %d로 변환하려면 48을 빼주어야 한다. 이를 이용하여 프로그램을 짠다면 다음과 같다.#include int main() { char c1,c2,c3,c4,c5; scanf("%c%c%c%c%c", &c1,&c2,&c3,&c4,&c5); printf("%..

C언어/예제 2024.10.15

[C] 숫자의 각 자릿수를 공백으로 분리하여 출력하는 프로그램

네 자리 숫자를 입력받으면, 숫자의 각 자릿수를 공백으로 분리하는 프로그램을 만들어 볼 것이다. 출력 예시는 아래와 같다.12341 2 3 4 이는 쉽게 만들어 볼 수 있다.#include int main() { int num; scanf("%d",&num); int num2=(num%1000); int num3=(num2%100); printf("%d %d %d %d",num/1000,num2/100,num3/10,num3%10); return 0;}  이를 응용하여 다섯 자리 숫자를 입력받았을 때 공백으로 분리하는 프로그램도 설계할 수 있다.#include int main() { int num; scanf("%d",&num); int num2=(num%10000); int num3=(num2%100..

C언어/예제 2024.10.15

[C] 경과 시간을 시:분:초로 변환하여 나타내는 프로그램

경과된 시간을 초 단위로 입력받으면, 시:분:초 의 형태로 변환하여 출력하는 프로그램을 만들어 볼 것이다. 출력 예시는 아래와 같다.12930:21:33 이는 간단한 코드로 나타낼 수 있다. #include int main() { int time; scanf("%d",&time); int min=time%3600; printf("%d:%d:%d",time/3600, min/60,time%60); return 0;} 여기서 min을 시 단위를 제하고 남은 시간(초)으로 설정했는데, 더 직관적으로 파악하기 쉽게 짜면 다음과 같이 짤 수 있다. #include int main() { int time; scanf("%d",&time); printf("%d:%d:%d",time/3600, (min%3600)/60..

C언어/예제 2024.10.15

[C] 반지름을 입력 받으면 원의 지름, 둘레, 면적을 계산 및 출력하는 프로그램

원의 반지름을 입력받으면, 이를 이용해 원의 지름, 둘레, 면적을 계산하는 프로그램을 만들어볼 것이다. π(pi)의 값으로는 3.14159를 사용할 것이고, 입력받는 원의 반지름은 실수형이다. 입출력 예시는 아래와 같다.반지름을 입력하세요: 5원의 지름: 10.000000원의 둘레: 31.415901원의 넓이: 78.539749 위와 같은 출력 결과를 나타내는 코드는 아래와 같다.#include int main() { float radius; float pi; pi = 3.14159; printf("반지름을 입력하세요: "); scanf("%f",&radius); printf("원의 지름: %f\n",2*radius); printf("원의 둘레: %f\n",2*pi*radius); printf("원의 넓..

C언어/예제 2024.10.15

- 정전 평형 상태의 도체

- 정전 평형 상태(electrostatic equilibrium)란?도체 내에서 전하의 알짜 운동이 없을 경우에, 도체가 정전 평형 상태(electrostatic equilibrium)에 있다고 한다. 고립된 도체(고립되어 전하의 이동이 발생하지 않는 도체)는 다음과 같은 특성을 갖는다.도체 내부의 어느 위치에서나 전기장의 0이다.고립된 도체에 생긴 과잉 전하는 도체 표면에만 존재한다.대전된 도체 바깥쪽의 전기장은 도체 표면에 수직이다.불규칙적인 형태의 도체에서 전하는 표면의 곡률 반지름이 가장 작은 곳, 즉 뾰족한 점에 모인다.첫 번째 특성은 간단히 이해할 수 있다. 도체 내부에 전기장이 존재한다면, 자유 전하가 운동하기에 전하의 흐름이 발생하게 되고, 그렇게 되면 정전 평형 상태가 아니게 되므로, ..

[C] 두 정수 더하기

두 정수를 입력받고, 그 정수들을 더한 합을 출력해볼 것이다. #include int main(void) { int integer1 = 0; int integer2 = 0; printf("Enter first integer: "); scanf("%d", &integer1); printf("Enter second integer: "); scanf("%d", &integer2); int sum = 0; sum = integer1 + integer2; printf("Sum is %d\n", sum); 위의 코드를 입력하면 해당 문장이 출력되는 것을 볼 수 있다. 이 위에 있는 코드의 구조를 분석해보자. #include int main(void) {이 부분은 지난 글에서 설명했으므로 설명을 생략한다.(※ 필요하..

C언어/예제 2024.07.08

[C] 간단한 문장 출력하기

Welcome to C! 라는 문장을 출력해볼 것이다.#include int main(void) { printf("Welcome to C!\n");} 위의 짧은 코드를 입력하면 해당 문장이 출력되는 것을 볼 수 있다. 그렇다면 이 위에 있는 짧은 코드의 구조를 분석해보자.#include  이 코드는 C 전처리기 지시문(C preprocessor directive)으로, 컴파일 전에 먼저 실행되는 지시문이다. 위 문장처럼 #으로 시작하는 문장은 전처리기에 처리된다. 또한 안에 있는 stdio.h는 standard input/output header(표준 입출력 헤더)을 의미하며, 이것 안에는 printf와 같은 입출력 함수들이 저장되어 있다. int main(void) { 위의 구문은 모든 C언어 프로그램..

C언어/예제 2024.07.07

[C] Microsoft Visual Studio를 이용해 c언어 코딩하기

홈페이지에서 Microsoft Visual Studio 설치파일을 다운받고 실행한다. 설치 과정에서 'C++을 이용한 데스크톱 개발'을 체크한 후 설치를 진행한다. 설치 이후 Microsoft Visual Studio를 실행하면, 프로젝트를 생성할 수 있는 화면이 나온다. 새 프로젝트 만들기를 선택하고 나면 프로젝트 템플릿을 선택하는 화면이 나오고, 여기서 빈 프로젝트 만들기를 선택한다. 이후 프로젝트가 생성되고 나면, 우측에 위치한 '솔루션 탐색기'에서 '소스 파일'을 찾아 마우스 우클릭하고 추가 - 새 항목 순서로 클릭한다. 그러면 아래와 같은 창이 뜨게 된다.위의 상태에서 C++파일을 선택하고, 아래의 이름에서 확장자를 *.cpp에서 *.c로 변경해주면 된다.

C언어/개념 2024.07.07

- 벡터

- 벡터란?벡터는 크기와 방향을 모두 가진 물리량을 나타내기 위해 사용되는 개념이다. 벡터는 화살표나 유향선분을 이용해서 나타낸다. 또한 벡터는 굵은 글씨(v)또는 위에 화살표를 붙여 표시한다. 벡터를 화살표를 통해서 나타낼 때, 화살표의 길이는 벡터의 크기를, 화살표의 방향은 벡터의 방향을 나타낸다.  - 벡터의 기하적 표현예를 들어 어떤 물체가 점 A에서 점 B로 선분을 따라 이동한다고 하면, 해당 운동의 변위벡터 v의 시작점(Initial point)은 점 A이고, 끝점(Terminal point)은 점 B이다.아래의 그림에서 볼 수 있듯이, 벡터 u는 시작점이 점 C, 끝점이 점 D으로 벡터 v와는 다르지만, v와 평행하며 길이가 같다. 이런 경우에 벡터 u와 벡터 v는 동치(equivalent)..

반응형