연재 완료/C Lang 예제코드 모음

C언어 표준 라이브러리 주요예제 3 (자료 변환 처리 함수 ~ 시간 관련 함수)

라이피 (Lypi) 2018. 6. 9. 20:49
반응형

1. 키보드로부터 두 문자열을 입력받고, 이것을 double형 실수로 변환하여 합하는 프로그램을 작성하라.

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


int main()
{
	char buffer1[120];
	char buffer2[120];

	printf("첫번째 실수를 입력하세요 : "); gets_s(buffer1,120);
	printf("두번째 실수를 입력하세요 : "); gets_s(buffer2,120);

	
	printf("두 수의 합은 %g입니다. \n", atof(buffer1)+atof(buffer2));
}


2. 키보드로부터 두 문자열을 입력받고, 이것을 int형 정수로 변환하여 합하는 프로그램을 작성하라.

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


int main()
{
	char buffer1[120];
	char buffer2[120];

	printf("첫번째 정수를 입력하세요 : "); gets_s(buffer1, 120);
	printf("두번째 정수를 입력하세요 : "); gets_s(buffer2, 120);


	printf("두 수의 합은 %g입니다. \n", atoi(buffer1) + atof(buffer2));
}


3. 키보드로 두 문자열을 입력받고, 이것을 long형 정수로 변환하여 합하는 프로그램을 작성하라.

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

//atol() 문자열을 long형 정수로 변환시키는 함수 예제
int main()
{
	char buffer1[120];
	char buffer2[120];

	printf("첫번째 정수를 입력하세요 : "); gets_s(buffer1, 120);
	printf("두번째 정수를 입력하세요 : "); gets_s(buffer2, 120);


	printf("두 수의 합은 %ld입니다. \n", atol(buffer1) + atol(buffer2));
}

//3가지 다 함수만 다르지 다 똑같은 프로그램. 별 의미 없다.


4. 입력받은 정수 x의 제곱근을 구하는 프로그램을 작성하라.

//입력받은 정수X의 제곱근을 구하는 프로그램을 작성하라.

#include <stdio.h>
#include <math.h>

//양의 제곱근을 구하는 함수 double sqrt(x);
int main()
{
	int x;
	
	printf("제곱근을 계산할 정수를 입력하세요 : "); scanf_s("%d", &x);

	printf("%d의 양의 제곱근은 %g, 음의 제곱근은 -%g입니다.", x, sqrt(x), sqrt(x));
}


5. -1에서 1까지 값에 대한 sin, cos, tan값을 출력하는 프로그램을 작성하라.

#include <stdio.h>
#include <math.h>

//-1부터 1까지의 삼각함수 값을 출력하는 예제
int main()
{
	//i를 0.1씩 증가시킬거면 당연히 i도 실수여야 한다. (..)
	for (double i = -1; i <= 1; i += 0.1) {
		printf("sin % .1f = % .6f , cos % .1f = % .6f, tan % .1f = % .6f \n", i, sin(i), i, cos(i), i, tan(i));
	}
}


6. -1에서 1까지 값에 대한 arc sin, arc cos, arc tan값을 출력하는 프로그램을 작성하라.

#include <stdio.h>
#include <math.h>

//-1부터 1까지의 역삼각함수 값을 출력하는 예제

int main()
{
	for (double i = -1; i <= 1; i += 0.1) {
		printf("arch sin % .1f = % .6f , arch cos % .1f = % .6f, arch tan % .1f = % .6f \n", i, asin(i), i, acos(i), i, atan(i));
	}
}


7.-1에서 1까지 값에 대한 log X의 자연 대수와 Log10의 상용 대수를 구하는 프로그램을 작성하라.

#include <stdio.h>
#include <math.h>

//1부터 10까지의 자연로그와 상용로그의 값을 출력하는 예제
int main()
{
	for (double i = 1; i <= 10; i++) {
		printf("log_e % 5.1f = % .6f , log_10 % 5.1f = % .6f \n", i, log(i), i, log10(i));
	}
}

//5~7번 예제도 함수만 다르지 다 똑같은 프로그램. 별 의미 없다.


8. 키보드에서 입력된 수의 절대값을 구하는 프로그램을 작성하라.
#include <stdio.h>
#include <math.h>

int main()
{
	int iInput;
	
	printf("정수 하나를 입력하세요 : "); scanf_s("%d", &iInput);

	printf("%d의 절대값은 %d입니다.", iInput, abs(iInput));
}


9. 키보드에서 입력된 수를 seed 값으로 하여 난수를 구하는 프로그램을 작성하라.

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

int main()
{
	int iInput;
	
	do{
	printf("정수 하나를 입력하세요. (종료하시려면 0을 입력하세요) : "); scanf_s("%d", &iInput);

	if (iInput == 0) { 
		break;
	}

	srand(iInput);

	printf("1~100의 무작위 값을 출력합니다. : %d \n",rand()%101);
	} while (iInput != 0);
}


10. ctime_s()함수를 이용하여 현재 시간을 문자열로 출력하는 프로그램을 작성하라.

#include <stdio.h>
#include <time.h>

int main()
{
	time_t t = time(NULL); 
	time_t* tp = &t;

	char localtime[26];
	//ctime_s가 전달해주는 값을 저장하려면 최소 26byte의 공간이 필요하다.

	ctime_s(localtime,26,tp);

	printf("%s", localtime);
}


11. localtime_s() 함수를 이용하여 시스템의 현재 시간을 출력하는 프로그램을 작성하라.

#include <stdio.h>
#include <time.h>

int main()
{
	time_t t = time(NULL);
	time_t* tp = &t;

	tm time;
	tm* tmp = &time;
	localtime_s(tmp,tp);

	printf("현재 시간은 %d시, %d분, %d초 입니다. \n", tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
}


12. localtime_s() 함수와 gmtime_s() 함수를 이용하여 현지 시간과 그리니치 표준시간을 출력하는 프로그램을 작성하라.

#include <stdio.h>
#include <time.h>

int main()
{
	time_t t = time(NULL);
	time_t* tp = &t;

	tm time;
	tm* tmp = &time;
	localtime_s(tmp, tp);

	tm gmtime;
	tm* gmtmp = &gmtime;
	gmtime_s(gmtmp, tp);

	printf("현재 시간은 %d시, %d분, %d초 입니다. \n", tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
	printf("현재 그리니치 시간은 %d시, %d분, %d초 입니다. \n", gmtmp->tm_hour, gmtmp->tm_min, gmtmp->tm_sec);
}



반응형