dengelanvil   7년 전

어디가 문제인가요??

도와주시면 감사하겠습니다

wansoram   7년 전

테스트 케이스가 여러 개 주어지는데 테스트 케이스 하나만 작동이 되게 작성하셨네요


그리고 이건 제 질문인데, 배열 크기를 선언 할 때 c/c++에서는 그 크기가 변수가 아닌 상수일 때만 가능한데, 

int c;
scanf("%d ",&c);
int N[c];

이렇게 선언하는 것도 가능한가요?? 


dengelanvil   7년 전

음...확실하진 않지만.....malloc을 안 써도 되느냐, 이 뜻인것이죠?

여기서 굳이 malloc을 쓰지않아도 가능하더라고요.

실제 답지에서도 malloc을 안 썼고요..

dengelanvil   7년 전

뭐가 문제일까요?ㅠㅠㅠㅠ

game2k   7년 전

#include <stdio.h>
 
int main(){
    int c, i, average, sum, k, numstu, l;
    float output;
    scanf("%d \n", &c);
    int N[1000];
 
    for (l = 1; l <= c; l++) {
        scanf("%d ", &numstu);
        sum = 0;
        for (i = 0; i < numstu; i++) {
            scanf("%d", &N[i]);
            sum += N[i];
        }
 
        average = sum / numstu;
        k = 0;
        for (i = 0; i < numstu; i++) {
            if (N[i] > average) {
                k++;
            }
        }
        output = 100 * k / (float)numstu;
        printf("%.3f%%\n", output);
 
    }
}

game2k   7년 전

또는  sum 과  k 의 초기화 문장을 넣은 다음

헤더파일을 

#include <cstdio>

로 바꾸고  c++로 제출해 보세요

dengelanvil   7년 전

감사합니다!!! ㅠㅠ

xhdxhl   7년 전

문제 어디에도 배열을 정수형으로 선언하라는 말이 없는데 컴파일 상 앞서 말한 오류가 뜨면서 안되네요... 제 비주얼 스투디오로는 오류하나 없이 말끔하게 돌아갑니다..

#include <iostream>
using namespace std;

int main() {
 long double num, k, sum = 0, cnt = 0;
 
 cin >> num;
 long double *Per = new long double[num];
 long double *average = new long double[num];
 for (int i = 0; i < num; i++)
 {
  cin >> k;
  long double *caseNum = new long double[k];
   for (int j = 0; j < k; j++)
   {
    cin >> caseNum[j];
    sum += caseNum[j];
   }
   average[i] = sum / k; // 각 케이스의 평균을 저장
   for (int t = 0; t < k; t++)
   {
    if (caseNum[t] > average[i])//각 케이스의 점수가 평균을 넘는지 확인
    {
     cnt++;
     continue;
    }
   }
   
     Per[i] = (cnt / k) * 100;
     sum = 0;
   cnt = 0;
   
 }
 for (int i = 0; i < num; i++)
 {
  cout << fixed;
  cout.precision(3);//소수점 넷째짜리에서 반올림한 후 셋째짜리까지만 출력
  cout << Per[i] << '\n';
 }
}

댓글을 작성하려면 로그인해야 합니다.