HW47
#pragma warning (disable : 4996)
#include <stdio.h>
void input(double *, int);
double fmax(double *, int);
double fmin(double *, int);
void output(double, double);
void myflush();
int main() {
double num[5], max, min;
int count = sizeof(num) / sizeof(num[0]);
input(num, count);
max = fmax(num, count);
min = fmin(num, count);
output(max, min);
return 0;
}
void input(double *num, int count) {
double num1;
for (int i = 0; i < count;i++) {
while (1) {
printf("%d번 방 값 : ", i);
scanf("%lf", &num1);
if (getchar() == '\n') {
num[i] = num1;
break;
}
myflush();
}
}
}
double fmax(double *num, int count) {
double max = num[0];
for (int i = 0;i < count;i++) {
if (max <= num[i]) max = num[i];
else;
}
return max;
}
double fmin(double *num ,int count) {
double min = num[0];
for (int i = 0;i < count;i++) {
if (min >= num[i]) min = num[i];
else;
}
return min;
}
void output(double max, double min) {
printf("\n가장 큰 값 : %.2lf\n가장 작은 값 : %.2lf", max, min);
return;
}
void myflush() {
while (getchar() != '\n');
return;
}
HW48
#pragma warning (disable : 4996)
#include <stdio.h>
int main() {
int ary[] = { 2,8,15,1,8,10,5,19,19,3,5,6,6,2,8,2,12,16,3,8,17,
12,5,3,14,13,3,2,17,19,16,8,7,12,19,10,13,8,20,
16,15,4,12,3,14,14,5,2,12,14,9,8,5,3,18,18,20,4 };
int count[20] = { 0, };
for (int i = 0;i < (sizeof(ary) / sizeof(ary[0]));i++) {
count[ary[i] - 1]++;
}
for (int i = 0;i < (sizeof(count) / sizeof(count[0]));i++) {
printf("%d - %d 개\n", i + 1, count[i]);
}
return 0;
}
HW49
#pragma warning (disable : 4996)
#include <stdio.h>
void swap(int *, int);
int main() {
int num[] = { 1,2,3,4,5 };
int len = sizeof(num) / sizeof(num[0]);
printf("처음 배열에 저장된 값 :");
for (int i = 0;i < len;i++) {
printf("%3d", num[i]);
}
printf("\n");
swap(num, len);
printf("바뀐 배열에 저장된 값 :");
for (int i = 0;i < len;i++) {
printf("%3d", num[i]);
}
return 0;
}
void swap(int *num, int len) {
int temp;
for (int i = 0;i < len / 2;i++) {
temp = num[i]; num[i] = num[len - i - 1]; num[len - i - 1] = temp;
}
}