그래도 꽤나 많이 적었네요..
다만, 질이 많이 떨어짐..
포인터 정리하는 글에 추가로 올리려고 했는데...
그래 정리하려고 올리는 건데 짬뽕으로 섞으면 안 되지..
어휴 귀찮아 갑자기 이걸 왜 시작해서는
아무튼 우당탕탕 시작
배열에서 더 큰 원소의 수 세기
1) 변수 이용법
int main() {
int i, j, x[5], cnt;
for (i = 0; i < 5; i++)
scanf("%d", &x[i]);
for (i = 0; i < 5; i++) {
cnt = 0;
for (j = 0; j < 5; j++)
if (x[i] < x[j])
cnt++;
printf("%d\n", cnt);
}
return 0;
}
2) 배열 이용법
int main() {
int i, j, x[5], cnt[5];
for (i = 0; i < 5; i++)
scanf("%d", &x[i]);
for (i = 0; i < 5; i++) {
cnt[i] = 0;
for (j = 0; j < 5; j++)
if (x[i] < x[j])
cnt[i]++;
printf("%d\n", cnt[i]);
}
return 0;
}
작은 원소 개수 셀 때, 같은 원소 개수 셀 때에는 if 문의 부호를 >, ==으로 바꾸면 됨.
배열에서 중복된 원소를 제외한 나머지 원소 출력

1) 앞 쪽을 비교
int main() {
int i, j, x[5], flag;
for (i = 0; i < 5; i++)
scanf("%d", &x[i]);
for (i = 0; i < 5; i++) {
flag = 0;
for (j = 0; j < i; j++)
if (x[i] == x[j])
flag = 1;
if (flag == 0)
printf("%d\n", x[i]);
}
return 0;
}
2) 뒤 쪽을 비교
int main() {
int i, j, x[5], flag;
for (i = 0; i < 5; i++)
scanf("%d", &x[i]);
for (i = 0; i < 5; i++) {
flag = 0;
for (j = i + 1; j < 5; j++)
if (x[i] == x[j])
flag = 1;
if (flag == 0)
printf("%d\n", x[i]);
}
return 0;
}
오름차순 정렬하기
1) 버블 정렬
int main() {
int i, j, x[5], temp;
for (i = 0; i < 5; i++)
scanf("%d", &x[i]);
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++)
if (x[j] > x[j + 1]) {
temp = x[j];
x[j] = x[j + 1];
x[j + 1] = temp;
}
}
for (i = 0; i < 5; i++)
printf("%d\n", x[i]);
return 0;
}
(2) 이거 이름 뭐라고 불러야 되냐 맨 앞에다가 가장 큰 거 두는 방식
int main() {
int i, j, x[5], temp;
for (i = 0; i < 5; i++)
scanf("%d", &x[i]);
for (i = 0; i < 4; i++) {
for (j = i + 1; j < 5; j++)
if (x[i] > x[j]) {
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
for (i = 0; i < 5; i++)
printf("%d\n", x[i]);
return 0;
}
내림차순은 부등호만 바꾸면 끝
뭐 안 쓴 것 같냐 왜...
필요한 코드는 다 썼겠지 모...
암튼 즐코
이제 앞으로 한 세 개 정도 남았군요
'이것저것 > C언어' 카테고리의 다른 글
포인터에 대해서 쓰고 싶었을 뿐인데 왜 별 출력하는 코드를 올리고 있을까 (1) | 2024.04.30 |
---|---|
아스키코드 외우지 말라면서 아스키코드 값 문제가 나와요. (0) | 2024.04.30 |
변수와 자료형이 C언어의 시작이라고 내가 감히 말함 (0) | 2024.04.30 |
댓글