728x90
반응형
Programming
4. 0부터 9까지의 난수를 100번 생성하여 가장 많이 생성된 수를 출력하는 프로그램을 작성하여보자. 난수는 rand() 함수를 사용하여 생성한다.
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 | #include "stdafx.h" #include <stdlib.h> int main() { int temp; int random[100], last = 0, lastnum = 0; int num[10] = {0}; for (temp = 0; temp < 100; temp++) { random[temp] = rand() % 10; num[random[temp]]++; } for (temp = 0; temp < 10; temp++) { if (num[temp] > lastnum) { lastnum = num[temp]; last = temp; } printf("%d = %d \n", temp, num[temp]); } printf("가장 많이 뽑힌 수 = %d \n", last); system("pause"); return 0; } | cs |
5. 다음 표의 각 행의 합계, 각 열의 합계를 구하는 프로그램을 작성하여보자. 표는 2차원 배열을 이용하여 표현한다.
12 |
56 |
32 |
16 |
98 |
99 |
56 |
34 |
41 |
3 |
65 |
3 |
87 |
78 |
21 |
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 | #include "stdafx.h" #include <stdlib.h> int main() { int question[3][5] = { {12,56,32,16,98}, {99,56,34,41,3}, {65,3,87,78,21} }; int row[3] = { 0 }, col[5] = { 0 }; for (int i = 0; i < 3; i++) { for (int j = 0; j < 5; j++) { row[i] += question[i][j]; col[j] += question[i][j]; } } for (int i = 0; i < 3; i++) printf("%d열의 합 = %d\n", i + 1, row[i]); printf("\n"); for (int j = 0; j < 5; j++) printf("%d행의 합 = %d\n", j + 1, col[j]); printf("\n"); system("pause"); return 0; } | cs |
6. 10진수를 2진수로 변환하여 출력하는 프로그램을 작성하여보자. 최대 64자리까지 변환이 가능하도록 한다. 변환된 자릿수를 저장하는 데 배열을 사용한다. 10진수를 2로 나누어서 생성된 나머지를 역순으로 나타내면 2진수로 표현할 수 있다. 주어진 정수를 임의의 진법으로 변환할 수 있는 프로그램도 작성하여보자.
for(i = 0; i < 32 && n > 0; i++)
{
binary[i] = n % 2;
n = n / 2;
}
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 | #include "stdafx.h" #include <stdlib.h> int main() { int num = 0,temp=0,i=0; short binary[64] = { 0 }; printf("2진수로 변환시킬 10진수를 입력해주세요(최대 64자리) : "); scanf_s("%d", &num); temp = num; while (temp != 0) { binary[i] = temp % 2; temp /= 2; i++; } printf("변환된 2진수 : "); for (int j = 0; j < i; j++) printf("%d", binary[j]); printf("\n"); system("pause"); return 0; } | cs |
7. 주사위를 60000번 던져서 그 결과를 배열로 요약하여보자. 잘 만들어진 주사위라면 하나의 면이 나올 확률은 약 1/6이 되어야 한다. 컴퓨터에서 주사위 던지기는 난수 발생 함수 rand()를 통하여 구현한다.
주사위면 빈도
1 1029
2 961
3 ....
4 ....
5 ....
6 ....
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include "stdafx.h" #include <stdlib.h> int main() { int num[6] = { 0 }, temp; for (int i = 0; i < 60000; i++) { temp = rand() % 6; num[temp]++; } printf("주사위면 \t빈도\n"); for (int i = 0; i < 6; i++) { printf("%d\t%d\n", i + 1, num[i]); } printf("\n"); system("pause"); return 0; } | cs |
728x90
반응형
'Solution > C언어 콘서트' 카테고리의 다른 글
C언어 콘서트 - 제9장: 포인터 연습문제 (1/8) (0) | 2018.05.09 |
---|---|
C언어 콘서트 - 제8장: 배열 연습문제 (5/5) (2) | 2018.03.11 |
C언어 콘서트 - 제8장: 배열 연습문제 (3/5) (2) | 2018.03.07 |
C언어 콘서트 - 제8장: 배열 연습문제 (2/5) (4) | 2015.01.28 |
C언어 콘서트 - 제8장: 배열 연습문제 (1/5) (11) | 2015.01.28 |