heee   9년 전

int가 아니라 char여서인지

while문 조건 안에서 a!=0&&b!=0이 안먹네요..

인풋 0 0일때 break하려면 어떻게 소스를 수정해야하나요?

yukariko   9년 전

아래 같은 방법도 있습니다.

portableangel   9년 전

yukariko 님이 작성하신 방법과 똑같이 a[0]!='0'&&b[0]!='0' 을 쓰는 방법도 있어요

그리고 위 코드로는 테스트케이스 145 155 에서 오답이 나와요. 헐 이거 스포일러인가..

그리고 a배열과 b배열의 크기를 1씩 키워주세요

heee   9년 전

@yukariko님 감사합니다~~

@portableangel 얼.. ㅠ 올림으로인한올림을 생각못했네요ㅠ 감사합니다

heee   9년 전

@portableangel

결과값이 0출력 안되고 종료되려면 어떻게해야하나요ㅠ?

종료는 되는데 while문 루프를 왜 do while처럼 한번 실행이되고 종료가되는걸까요ㅠ?


portableangel   9년 전

요렇게 수정하시면 됩니당.

아니면 while문 내에서 if문으로 한번 거르는 방법을 쓰셔도 돼요

portableangel   9년 전

0이 출력되는 이유는 지금 코드에서 while문에서 조건문을 확인하는 시점이 입력에 대해 루프 내부를 수행하고 난 다음이기 때문이예요!

코드를 쭉 따라가보시면 a와 b를 입력받고 한번 루프를 돈 다음에 a와 b가 0인지 판정해서 종료하고 있어요

heee   9년 전

아아ㅠ while문 조건 안에 넣어서 저렇게 scanf를 하면서 바로 조건확인할수있군용 !!

얼..근데뭐가 틀렸다고 나오는걸까요 뀨..틀린 답이나오는 tc가 또있는걸까요ㅠ

portableangel   9년 전

11 89

위 코드로는 오답이 나오네요

heee   9년 전

11 89-> 답 2아닌가요??~~

portableangel   9년 전

아 죄송합니다 ㅠㅠ 잘못봤네요

99 1 에서 오답이 나와요

heee   9년 전

얼,,, 감사합니다.........그 tc보니까 결국엔 자릿수 차이나는만큼 0을 박고 풀수밖에없나싶어요...........

어찌됫든 저렇게 하면 애초에 틀린거였군요..........,,,,,

yukariko   9년 전

10자리 '이내'의 수가 들어온다 = 많아야 9자리의 수가 들어온다는 뜻입니다.

따라서 그냥 int 형으로 받아서 계산하는게 편해요.

heee   9년 전

@yukariko님 감사합니다.. 근데 이건 또 왜틀렸을까요?..,,,,

yukariko   9년 전

while 문 조건이 잘못되었네요.

a != 0 && b != 0 이 아니라

a != 0 || b != 0 입니다.

heee   9년 전

@yukariko님 덕분에 해결되었습니다ㅠ

근데 이해가안가서요 ㅠ ||는 or아닌가용..??

a랑 b가 둘다 0일때 tc입력이 종료된다고 생각해서 &&썼는데,,ㅠ

yukariko   9년 전

종료 조건이 둘다 0일때이기 때문에

하나라도 0이 아니면 반복문은 돌아야 합니다.

따라서 a != 0 || b != 0 을 쓰는것이 맞습니다.

heee   9년 전

아아,, @yukariko님 정말 너무너무 감사합니다!!

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