번호를 출력하고 싶은데요.
어둠
질문 제목 : 번호를 출력하고 싶은데요.질문 요약 :N개의 성적을 받아서 그것의 순위 번호 점수를 출력하고 싶은데 번호를 어떻게 해야하는지 모르겠어요.질문 내용 :
#include stdio.h
#include stdlib.h
#define MaxSiz 1000
void bubble_sort(int A[], int no);
int *score;
int main(){
int i,j,N;
float sum, avg, var;
int index[MaxSiz];
int num; //이렇게 번호를 나중에 출력하기 위해서 일단 선언은 해줬는데요.
printf(성적의 개수를 입력하라.);
scanf(%d,&N);
score = (int *) malloc(N*sizeof(int));
for(i=0; iN; i++) scanf(%d,&score[i]);
for(sum=0.0, i=0; iN; i++) sum+=score[i];
avg=sum/N;
for(sum=0.0, i=0; iN; i++)
sum+=(score[i]-avg)*(score[i]-avg);
var=sum/N;
bubble_sort(score,N);
printf(평균과 분산은 %.3f와 %.3f이다.\n,avg, var);
for(i=0; iN; i++){
index[i] = 1;
for (j = 0; j i; j++){
if (score[i] score[j])
index[i] += 1;
if (score[i] score[j])
index[j] += 1;
}
}
printf(순위 번호 점수\n);
printf(===================================\n);
for(i=0; iN; i++) {
printf(%d%d%d\n,index[i],num,score[i]);
}printf(\n); //그리고 여기에서 출력하기 위해서 써줬구요.
free(score);
system(pause);
return 0;
}
void bubble_sort(int A[], int no)
{
int i, j, tmp;
for (i = 0; i no - 1; i++) {
for (j = i + 1; j no; j++) {
if (A[i]A[j]) {
tmp=A[i];
A[i]=A[j];
A[j]= tmp;
}
}
}
}근데 문제는 번호를 점수만 입력을 해서 어떻게 알 수 있죠?
아직 구조체 뭐 이런걸 하는게 아니라서요
아무리 찾아봐도 번호를 출력하는 건 알 수가 없드라고요
책을 아무리 뒤져도 안나오고 ㅜㅜ
순위랑 점수는 다 맞게 출력되는데.
아무리 도통 생각해봐도 번호를 어떻게 출력하는지 모르겠어요.
만약 10 43 9 이렇게 입력하면
순위 번호 점수
1 2 43
2 1 10
3 3 9
이렇게 나와야 하는데 아무리 해봐도 번호가 전부 0 이 나오질 않나..
전부 11 이나 2 이렇게 나오질 않나.ㅜㅜㅜ
-
흰우유 2024-01-06
데이터 배열은 온전하게 놔두고, 인덱스를 만들어서 인덱스를 정렬하는 방법을 써보세요.
-
흰가람 2024-01-06
제가 안그래도 그말이 이해가 안갔었거든요 score를 입력받으면서 순서를 설정해 줘야된다는 말이.. 무슨 말인지 모르겠는거에요 ... 그렇게 하면 된다는 걸 알긴 알고 있었는데 ㅜ 입력받으면서 순서를 설정한다는 말이요 . 음.. ㅜ 죄송해요 자꾸 물어봐서요 ㅜ
일단 num[MaxSiz]로 메모리 할당을 해주었거든요
그리고 점수 입력 받을 때
\tfor(i=0; iN; i++){
\t\tnum[i]=1;
\t\tscanf(\%d\ -
한국녀 2024-01-06
구조체를 사용하면 안되는 경우라면 score를 입력받으면서 순서를 설정해 주고 점수 순위로 정렬 하면서 순서도 그에 맞게 설정을 해줘야 하겠지요 지금 코드 테스트를 할 수 있는 환경이 아니라 말로만 설명 드려 죄송하네요 ㅎㅎ
-
한울 2024-01-06
각점수에 대해서 순서를 정하려면 따로 함수를 또 선언해서 해야 하나요?
-
By은지 2024-01-06
출력시에 i 값을 넣으면 당연히 그렇게 되구요 위와 같이 각 점수에 따라 순서를 매길려면 num을 배열로 잡고 ( 포인터로 잡는다면 메모리 할당이 필요하구요) 각 점수에 대하여 순서를 정해놓아야 합니다.
-
꽃내 2024-01-06
저도 그렇게 생각은 하는데요 그럼
printf(\%d %d %d\\n\ -
큰솔 2024-01-06
번호 라는 것이 점수를 입력한 순서를 뜻하는 것이라면 score[i] 에서 i가 순서가 되는거죠.....;;
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2690777 | 말 표현에서 궁금한점이 있습니다. 배열을 통째로 넘겨받으려면 매개변수로 배열을 선언할 수 있어야한다? (8) | 별햇님 | 2025-04-07 |
2690749 | 피라미드 질문드립니다 (for문 한개) | 도래솔 | 2025-04-07 |
2690718 | 함수 포인터반환 함수 질문 | 에드워드 | 2025-04-07 |
2690685 | 2중for문 도와주세여..;; | 흰추위 | 2025-04-07 |
2690655 | 팩토리얼 계산문제..질문~ (9) | 옆집꼬마야 | 2025-04-06 |
2690627 | c 변수 선언후 변수값 저장안하고 출력 | 방방 | 2025-04-06 |
2690600 | 릴리즈 모드로 컴파일해서 다른 컴퓨터에서도 실행파일을 실행할수 있는 방법 알려주세요 (5) | 제나 | 2025-04-06 |
2690576 | bin파일 저장 | 다올 | 2025-04-06 |
2690547 | C언어 뒷부분이라 너무 어려워서요;; 프로그래밍 하나만 부탁드립니다 (4) | 그루터기 | 2025-04-05 |
2690517 | cygwin에서요.. (1) | 엘보어 | 2025-04-05 |
2690486 | 문자열과 문자형이요 ~ | 다스리 | 2025-04-05 |
2690344 | 일본어 주석 깨짐 문제 (3) | 연하얀 | 2025-04-04 |
2690314 | 암호문 만들기 -비제네르- | 이퓨리한나 | 2025-04-03 |
2690292 | 왕초보자의 질문!!!!!! 도와주세요 (1) | 하랑 | 2025-04-03 |
2690269 | 정올 문제 인데.. 흠 | 반월 | 2025-04-03 |
2690237 | sizeof에서 short형을 썻는데 왜 4byte가 나올까요? (1) | 바나나 | 2025-04-03 |
2690183 | 문자열과 포인트 비교 (2) | 미즈 | 2025-04-02 |
2690154 | a -48 ? | 희미한눈물 | 2025-04-02 |
2690094 | 테트리스 질문요. | 지후 | 2025-04-01 |
2690066 | 문자열비교!! (1) | 매디 | 2025-04-01 |