함수 사용 질문
글쓴이: tkrl2246 / 작성시간: 금, 2017/03/17 - 11:11오후
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int num(int n);
void change(int arr[]);
int num(int n)
{
int k = rand() % 10 + 1;
k = k + n;
return k;
}
void change(int arr[]) {
int temp;
int n1, n2;
for (n1 = 0; n1 < 10; n1++) {
for (n2 = 0; n2 < 9; n2++) {
if ((arr[n1] % 10) < (arr[n2 + 1] % 10)) {
temp = arr[n1];
arr[n1] = arr[n2];
arr[n2] = temp;
}
else if ((arr[n1] % 10) == (arr[n2 + 1] % 10)) {
if (arr[n1] < arr[n2]) {
temp = arr[n1];
arr[n1] = arr[n2];
arr[n2] = temp;
}
}
}
}
}
void main() {
int i, j, tmp = 0;
int a[10];
printf("1부터 100까지중 10개의 난수\n");
srand((int)time(NULL));
for (i = 0; i < 10; i++) {
tmp = i * 10;
a[i] = num(tmp);
printf("%d\n", num(tmp));
}
change(a);
printf("첫자리 숫자의 크기순서대로\n");
for (i = 0; i < 10; i++) {
printf("%d\n", a[i]);
}
}num은 잘적용 시켯는데 change를 적용 못시키고있내요 ㅠㅠ 어떻게해야 고쳐질까요?
Forums:


고쳣습니다!
#include<stdio.h> #include<stdlib.h> #include<time.h> int num(int n); void change(int arr[]); int num(int n) { int k = rand() % 10 + 1; k = k + n; return k; } void change(int arr[]) { int temp; int n1, n2; for (n1 = 0; n1 < 10; n1++) { for (n2 = n1; n2 < 9; n2++) { if ((arr[n1] % 10) < (arr[n2 + 1] % 10)) { temp = arr[n1]; arr[n1] = arr[n2+1]; arr[n2+1] = temp; } else if((arr[n1] % 10) == (arr[n2 + 1] % 10)){ if (arr[n1] < arr[n2+1]) { temp = arr[n1]; arr[n1] = arr[n2+1]; arr[n2+1] = temp; } } } } } void main() { int i, j, tmp = 0; int a[10]; printf("1부터 100까지중 10개의 난수\n"); srand((int)time(NULL)); for (i = 0; i < 10; i++) { tmp = i * 10; a[i] = num(tmp); printf("%d\n", num(tmp)); } change(a); printf("첫자리 숫자의 크기가 큰순서대로\n"); for (i = 0; i < 10; i++) { printf("%d\n", a[i]); } }printf()로 값을 확인해보세요.
http://codepad.org/HsuunWc0
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기