1)10명의 학생들의 국어 영어 수학 총합 평균을 출력하라
2)10명의 학생들의 점수 앞에 번호를 부여하라.
번호 국어 영어 수학 총점 평균
--------------------------
1 12 49 6 67 22.33
2 29 67 53 149 49.67
3 14 47 80 141 47.00
4 4 98 2 104 34.67
5 64 12 10 86 28.67
6 53 66 72 191 63.67
7 3 74 51 128 42.67
8 99 68 12 179 59.67
9 88 88 94 270 90.00
10 84 61 87 232 77.33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <stdio.h>
void main(){
int i, j,s[10][4]={0}/*행렬값 초기화*/;
srand(time(NULL));//rand함수가매번 다른값을 가지게 하기 위해 설정했습니다.
printf("번호 국어 영어 수학 총점 평균\n");
printf("----------------------------\n");
for(i = 0; i < 10; i++)
for(j = 0;j<3;j++){
s[i][j] = rand()%100+1;
s[i][3] += s[i][j];
}
for(i = 0; i < 10; i++){
printf("%4d",i+1); //i는 0부터 시작하기 때문에 i+1을 적어줍니다.
for(j = 0;j<3;j++)
printf("%4d",s[i][j]);
printf("%6d",s[i][3]);
printf("%6.2f\n",(float)s[i][3]/3); //평균값은 실수값을 가지기 때문에 float로 형변환해줍니다.
}
}
|
cs |
3)각각의 과목에서 최고점수를 출력하라
- 정수형 배열 max[3]을 지정해줍니다.
[실행결과]
번호 국어 영어 수학 총점 평균
----------------------------
1 11 68 21 100 33.33
2 4 69 96 169 56.33
3 86 95 3 184 61.33
4 63 38 12 113 37.67
5 91 9 20 120 40.00
6 30 16 64 110 36.67
7 31 1 14 46 15.33
8 58 17 3 78 26.00
9 28 9 4 41 13.67
10 84 54 28 166 55.33
----------------------------
최대값 91 95 96
[풀이]
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 <stdio.h>
void main(){
int i, j,s[10][4]={0}/*행렬값 초기화*/;
int max[3]={0};
srand(time(NULL));//rand함수가매번 다른값을 가지게 하기 위해 설정했습니다.
printf("번호 국어 영어 수학 총점 평균\n");
printf("----------------------------\n");
for(i = 0; i < 10; i++)
for(j = 0;j<3;j++){
s[i][j] = rand()%100+1;
s[i][3] += s[i][j];
if(s[i][j]>max[j])//max는 0이기에 max[j]에s[i][j]가 입력됩니다. 그리고 그다음값과 비교하여 같은 프로세스를 반복합니다.
max[j] = s[i][j];
}
for(i = 0; i < 10; i++){
printf("%4d",i+1);
for(j = 0;j<3;j++)
printf("%4d",s[i][j]);
printf("%6d",s[i][3]);
printf("%6.2f\n",(float)s[i][3]/3);
}
printf("----------------------------\n");
printf("최대값");
for(i = 0;i<3;i++)
printf("%3d",max[i]); // 아래에 따로 출력해줍니다.
}
|
cs |
4)10명의 학생들의 등수를 출력하라.
[실행결과]
번호 국어 영어 수학 총점 평균 등수
----------------------------------
1 12 92 82 186 62.00 2
2 7 0 74 81 27.00 9
3 18 18 33 69 23.00 10
4 48 53 76 177 59.00 4
5 37 45 82 164 54.67 6
6 46 35 49 130 43.33 8
7 30 77 62 169 56.33 5
8 96 53 30 179 59.67 3
9 90 43 13 146 48.67 7
10 76 37 95 208 69.33 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
|
#include<stdio.h>
void main()
{
int s[10][5], i, j, max[3]={0}; // 배열s에 등수를 출력할 열 하나를 추가 했습니다.
srand(time(NULL));
for(i=0; i<10; i++) {
s[i][3]=0;
for(j=0; j<3; j++) {
s[i][j]=rand()%101;
s[i][3]+=s[i][j];
if( s[i][j] > max[j] ) max[j]=s[i][j];
}
}
for(i=0; i<10; i++ ){
s[i][4]=1; //s[0][4]를 1로 지정했습니다.
for(j=0; j<10; j++)
if( s[i][3] < s[j][3] ) s[i][4]++;//그리고 s[j][3](총합)을 비교해 숫자정렬을 위해 이 논리를 사용했습니다.
}
printf("번호 국어 영어 수학 총점 평균 등수\n");
printf("----------------------------------\n");
for(i=0; i<10; i++) {
printf("%4d ", i+1);
for(j=0; j<4; j++)
printf("%4d ", s[i][j]);
printf("%5.2f",s[i][3]/3.0);
printf("%4d\n", s[i][4]);
}
}
|
cs |
'프로그래밍 언어 > C언어' 카테고리의 다른 글
<C++> pointer (포인터 변수, 주소 변수) 1 (0) | 2021.07.19 |
---|---|
<c> 로또 번호 생성기 (0) | 2021.06.28 |
<C> FOR문 연습 1 (0) | 2021.06.28 |