일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #binary
- relative path
- #2차원배열
- #성적관리프로그램
- html multimedia
- #3차원배열
- #1차원배열
- html charset
- #bubbleSort
- mac terminal command
- #JAVASCRIPT
- #다차원포인터
- #C++ 연산자함수오버로딩
- 토큰경제
- #자바상속#자바이즈어#is~a
- git flow
- html youtube
- #android activity
- html5 new tag
- #C++ has~a
- border-box
- #CallByAddress
- html id
- html plug-in
- 하이퍼레저패브릭
- docker example
- html video
- hyperledger transaction
- html code
- html object
- Today
- Total
A sentimental robot
배열포인터 활용 본문
#include<stdio.h>
#pragma warning (disable:4996)
const static char scoName[6][10] = { "Name","Kor","Eng","Mat","Total","Avg" };
void input(char(*pname)[10], int(*pscore)[4]);
void oper(int(*pscore)[4], float*pavg);
void output(char(*pname)[10], int(*pscore)[4], float*pavg);
void main()
{
char name[3][10] = { 0, };
int score[3][4] = { 0, };
float avg[3] = { 0 };
input(name, score);
oper(score, avg);
output(name, score, avg);
}
void input(char(*pname)[10], int(*pscore)[4]) // int(*pscore)[4] 한 행당 4개의 요소를 가지고 있는 int 2차원 배열을 가르키는 포인터
{
int i, j;
for (i = 0; i < 3; i++)
{
printf("%s input: ", scoName);
scanf("%s", pname[i]);
for (j = 0; j < 3; j++)
{
printf("%s input : ", scoName[j + 1]);
scanf("%d", &pscore[i][j]);
}
}
}
void oper(int(*pscore)[4], float*pavg)
{
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
pscore[i][3] += pscore[i][j];
}
pavg[i] = pscore[i][3] / 3.f;
}
}
void output(char(*pname)[10], int(*pscore)[4], float*pavg)
{
int i, j = 0;
for (i = 0; i < 6; i++)
printf("%s\t", scoName + i);
puts("");
for (i = 0; i < 3; i++)
{
printf("%s\t", pname[i]);
for (j = 0; j < 4; j++)
printf("%d\t", pscore[i][j]);
printf("%f\n", pavg[i]);
}
}
'C ' 카테고리의 다른 글
구조체 배열 (0) | 2017.12.29 |
---|---|
구조체(typedef structure) (0) | 2017.12.29 |
포인터배열과 더블포인터 (0) | 2017.12.29 |
함수매개변수로 [ ] 사용 해보기 (0) | 2017.12.29 |
함수와 포인터를 사용한 1차원배열 (0) | 2017.12.29 |