[c언어] 난수의 합과 가장 큰 수 구하기 (1차원 배열과 포인터)
2020. 12. 21. 16:57ㆍComputer Science/C
10개의 엘리먼트중 가장 큰 수를 찾아 출력하는 기능을 추가하는 프로그램을 작성한다.
* 포인터를 사용한다.
#include <stdio.h>
#include <stdlib.h>
void generateData();
void printData();
int totalData();
int maxData();
int data[10];
int main(void)
{
srand(200);
generateData();
printf("발생된 10개의 난수 :\n");
printData();
printf("\n10개 난수의 합 = %d \n", totalData());
printf("10개 난수 중 가장 큰 수 = %d \n", maxData());
}
void generateData()
{
int k;
int* p;
p = data;
for (k = 0; k < 10; k++)
*p++ = rand() % 100;
}
void printData()
{
int* pi = data;
int i;
for (i = 0; i < 10; i++)
printf("%d ", *pi++);
}
int totalData()
{
int* pi = data, sum = 0;
int i;
for (i = 0; i < 10; i++)
sum += *pi++;
return sum;
}
int maxData()
{
int* pi = data, max = *pi;
int i;
for (i = 0; i < 10;i++) {
if (max < *pi)
max = *pi;
pi++;
}
return max;
}
결과
'Computer Science > C' 카테고리의 다른 글
[c언어] 10진수를 2진수로 변환하여 출력하기 (재귀호출) (0) | 2021.02.03 |
---|---|
[c언어] 2차원 배열과 포인터 (0) | 2020.12.22 |
[c언어] 합집합, 교집합, 차집합 (배열과 함수) (0) | 2020.12.21 |
[c언어] 지뢰 찾기 (0) | 2020.12.21 |
[c언어] 행렬 곱 (0) | 2020.12.21 |