int main(void)
{
int n1 = 0, n2 = 0, n3 = 0, re = 0;
printf("몇개의 정수를 입력할지 적으시오 : ");
scanf("%d", &n1);
while (n1 >= 1) {
scanf("%d", &n2);
n3 = n3 + n2;
n1--;
}
printf("%d", n3);
return 0;
}
문제는
프로그램 사용자로부터 입력받은 정수의 평균을 출력하는 프로그램을 작성하되 다음 두가지 조건을 만족시켜야 한다.
"먼저 몇개의 정수를 입력할것인지 프로그램 사용자에게 묻는다. 그리고 그 수만큼 정수를 입력받는다." "평균값은 소수점 이하까지 계산해서 출력한다
요거고 마지막 출력할때 평균을 계산해야되는데
입력받은 n3 / n1 을 할때 n1 은 이미 1이 되어버린거 아님 ?
그럼 어떻게 계산해 ??
저거 소수점이하는 신경쓰지 말고 답해줭
n1 값을 남겨놔야지 그럼. for문에서 반복하면서 i를 1부터 n1까지 반복시킨다든가.
내 목표는 while문이야 아이디어생각남 - dc App
for나 while이나 상호호환 되니까 알아서하셈ㅇㅇ
입력받자마자 변수를 하나 생성해서 그밑에 n1 = n4 해놓는건 어때? - dc App
n1 ==n4; - dc App
그래도 해결할수있지ㅇㅇ
아 안되겠구나 - dc App
n4 = n1이겠죠 ㅎ
while써도되긴하는데 굳이 왜? 조건에 정해진 수 만큼 루프 돌리는거잖아
n4를 n1에 대입시키는 꼴밖에 안되는거아냐? - dc App
교수님이 해오래용 ㅇㅅㅇ - dc App
while은 루프 도는 갯수가 정해지지 않는 경우에나 쓰이는거지, 저렇게 갯수 정하고 하는거는 for문이 가독성도 좋고 더 좋음
교수님이 그렇다면 어쩔수없에
우변을 좌변에 대입하는거임... 그리고 암튼 횟수는 남겨놔야하니까.
아n4 = n1; 하면 되겠다 맞지용 - dc App
저 고수님 궁금한거 또하나 printf("%lf",n3/n4); 이거는 왜 이상하게 나와요? 0.0000이 나옴 - dc App
정수끼리 나눗셈을 먼저 하고, 그걸 double형으로 변환해서 출력하라는 명령임. 나눗셈과정에서 정수끼리기때문에 소수점 없애버림.
피연산자 둘중 하나를 형변환해준 후 나누면 된다
고마워요 - dc App
hack.chat 쓰면 대화하기 편함
그게머에요 - dc App