인프런 커뮤니티 질문&답변

임규범님의 프로필 이미지
임규범

작성한 질문수

문제로 배우는 C언어

자리 찾기

일곱 난쟁이

작성

·

200

0

#include<stdio.h>
int arr[10];
int main(){
	
int i, j, k, tmp=0, sum=0;

for(i=0; i<9; i++){
	scanf("%d", &arr[i]);
	tmp=tmp+arr[i];
}


for(i=0; i<9; i++){
	for(j=0; j<9; j++){
		if(i==j) continue;
		sum=tmp-arr[i]-arr[j];
		if(sum==100)
		break;
    }
}
		
for(k=0; k<9; k++){
	
	if(k==i || k==j) continue;
	printf("%d ", arr[k]);
}

return 0;

}

어느 부분이 잘못되었는지 모르겠어서 질문드립니다

답변 2

1

김태원님의 프로필 이미지
김태원
지식공유자

if(sum==100) break; 

를 하면 반복하던 j for문만 정지시킵니다. if(sum==100) break; 가 참일때 j for문과 i for문을 동시에 멈추게 하는 방법을 영상에서 설명하고 있으니 보시기 바랍니다.

0

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <string.h>

int main()

{

int arr[101];

int n, i, m;

scanf("%d", &n);

for (i = 0; i < n; i++)

{

scanf("%d", &arr[i]);

}

scanf("%d", &m);

for (i = 0; i < n; i++)

{

if (arr[i] > m)

{

for (i + 1; i < n; i++)

{

arr[i + 1] = arr[i];

}

arr[i] = m;

break;

}

}

for (i = 0; i < n; i++)

{

printf("%d ", arr[i]);

}

return 0;

}

인덱스 뒤부터말고 앞부터 검사하고싶어서 코드짯는데요 자꾸 똑같은값만 나오네요 a[i]보다 m이 더크면 a[i]는 그대로 두다가 a[i]보다 m이 작아지는 순간에 a[i]에다가 m을 넣고 그 뒤로는 한칸씩 밀려서 넣고싶은데 어떻게짜야되나요

임규범님의 프로필 이미지
임규범

작성한 질문수

질문하기