07. Introduction and practice of engineering computer(Deep coding)(2)
07. Introduction and practice of engineering computer(Deep coding)(2)
[toc]
공학컴퓨터입문및실습 과제7
사용자로부터 변수를 입력 받아서 다항식을 계산하는 프로그램
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
double x;
double res;
printf("X의 값을 입력하시오. :");
scanf("%lf", &x);
res = 3*(x*x*x) - 7*(x*x) + 9;
printf("다항식의 값은 %lf입니다.\n", res);
return 0;
}
사용자로 문자를 받아서 아스키 코드를 출력하는 프로그램
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char ch;
printf("문자를 입력하시오. :");
scanf("%c", &ch);
printf("아스키 코드: %d\n", ch);
//getchar()함수를 사용하지 않고 문자를 정수형으로 받아서 출력하면 된다.
return 0;
}
자동판매기 프로그램
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int money, price, change;
printf("투입한 돈 :");
scanf("%d", &money);
printf("물건 값 :");
scanf("%d", &price);
change = money - price;
printf("거스름돈 :%d\n", change);
int coin100s = change / 100; //거스름돈에서 100원 짜리 개수를 계산
change = change % 100; //거스름돈에서 100원 짜리를 내주고 남은 돈
int coin10s = change / 10; //거스름돈에서 10원 짜리 개수를 계산
change = change % 10; //거스름돈에서 10원 짜리를 네주고 남은 돈
printf("100원 동전의 개수 :%d\n", coin100s);
printf("10원 동전의 개수 :%d\n", coin10s);
return 0;
}
a 부터 z까지 출력하는 프로그램
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#define SIZE 26
int main(void)
{
int i;
char codes[SIZE];
for (i = 0;i < SIZE;i++)
codes[i] = 'a' + i; //'a'에 1을 더하면 'b'가 된다.
for (i = 0;i < SIZE;i++)
printf("%c ", codes[i]);
printf("\n");
return 0;
}
학생들의 성적을 입력받아서 평균을 구하는 프로그램
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define STUDENT 5 //기호 상수를 지정함
int main(void)
{
int scores[STUDENT]; //배열을 기호 상수로 정의 함
int i, average, sum;
for (i = 0;i < STUDENT;i++) //정수 i를 기호 상수 - 1 까지 1을 더하면서 반복함, 성적 5개을 입력 받음.
{
printf("학생들의 성적을 입력해주세요. :");
scanf("%d", &scores[i]);
}
for (i = 0;i < STUDENT;i++) //입력 받은 5가지의 성적의 합계를 구합니다.
sum += scores[i];
average = sum / STUDENT; //성적의 합계를 기호 상수로 나눠서 평균을 구합니다.
printf("성적 평균 :%d\n", average);
//적절한 형식 지정자를 사용하고 가독성을 높이기 위해 이스케이프 문자(\n)을 사용해서 줄을 바꿈
return 0;
}
화씨온도를 섭씨온도로 바꾸는 함수
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#define CRT_SECURE_NO_WARINGS
double FtoC(double temp_f);
int main(void){
double c, f;
printf("F값을 입력해주세요. : ");
scanf("%lf", &f);
c = FtoC(f);
printf("화씨온도 %lf은 섭씨온도 %lf입니다. \n", f, c);
return 0;
}
double FtoC(double temp_f){
double temp_c;
temp_c = (5.0 * (temp_f - 32.0)) / 9.0;
return temp_c;
}
소수를 찾는 함수
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int check_prime(int);
int main(void)
{
int k;
printf("정수를 입력해주새요. : ");
scanf("%d", &k);
if (check_prime(k) == 1 ) printf("소수입니다.\n");
else printf("소수가 아닙니다. \n");
return 0;
}
int check_prime(int n)
{
int is_prime = 1;
for (int i = 2;i < n; ++i)
{
if (n % i == 0)
{
is_prime = 0;
break;
}
}
return is_prime;
}
팩토리얼을 순환호출을 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#define _CRT_SECURE_NO_WARINGS
#include <stdio.h>
int factorial(int n);
int main(void)
{
int x = 0, result;
printf("정수를 입력하세요. :");
scanf("%d", &x);
result = factorial(x);
printf("%d!은 %d입니다. \n", x, result);
return 0;
}
int factorial(int n)
{
printf("factorial(%d)\n", n);
if (n <= 1) return 1;
else return n * factorial(n - 1);
}
정수의 합을 소수의 합으로 구하는 함수
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int check_prime(int k);
int main(void)
{
int k, flag = 0;
printf("양의 정수를 입력해주새요. : ");
scanf("%d", &k);
for (int i = 2;i < k;++i)
{
if ( check_prime(i) == 1)
{
if (check_prime(k - i) == 1)
{
printf("%d = %d + %d\n", k, i, k - i);
flag = 1;
}
}
}
if (flag == 0)
{
printf("%d은 소수들의 합으로 표현할 수 없습니다.\n", k);
return 0;
}
}
int check_prime(int n)
{
int is_prime = 1;
for (int i = 2;i < n; ++i)
{
if (n % i == 0)
{
is_prime == 0;
break;
}
}
return is_prime;
}
End.