0~99 사이의 난수를 1000개 발생시켜 배열에 저장한 후, 포인터를 이용하여 최초로 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
28
29
30
|
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define SIZE 1000
int main(void) {
int A[SIZE];
int cnt = 0; // cnt => 최초로 0이 저장된 위치 직전까지 저장된 원소들의 개수
int* p[SIZE] = { NULL };
int sum = 0; // 원소들의 합
for (int i = 0; i < SIZE; i++) {
A[i] = rand() % 100;
}
for (int i = 0; i < SIZE; i++) {
if (A[i] == 0) break;
cnt++;
}
for (int i = 0; i < cnt; i++) {
p[i] = &A[i];
sum += *p[i];
}
printf("원소들의 개수 : %d\n원소들의 합 : %d", cnt, sum);
return 0;
}
|
cs |
'C > 포인터' 카테고리의 다른 글
C언어 - 삼각형의 무게중심의 좌표 구하기 (0) | 2021.09.08 |
---|---|
C언어 - 정수를 약수의 개수에 따라 내림차순으로 정렬하기 (0) | 2021.09.08 |
C언어 - 배열의 특정 위치까지의 원소들을 복사하는 프로그램 (0) | 2021.09.08 |
C언어 - 포인터 이용하여 반전된 순서로 출력하기 (0) | 2021.09.05 |