c언어고 5자리 숫자 입력받아서 각 자리 띄어서 출력시키는 코드 짜봤는데
반복문으로 해보고 싶은데 for문으로는 어떻게 해야할지 잘 모르겠음
c언어 입문 이틀차임
int로 받지 말고 char* 문자열로 받아서 ㄱㄱ
입력받은 문자열을 각 자리로 나눠서 단어하나씩으로 출력 시킬수있는거구나
ㅇㅇ char값에서 48 빼면 숫자나옴
for( 생략; 조건; 생략) 해서 while처럼 쓰셈 ㅋㅅㅋ
break를 언제까지로 해야해?
for문을 while문으로 바꾼다는 줄 ㅇㅅㅇ;;
저 코드에서 그냥 반복문써서 %랑 / 하는거 줄여보고 싶은데 어케 해야할지 모르겠어
for(int cnt = 5,tem = num, div = 10000; cnt; cnt--){ printf("%d ",tem / div); tem = tem % div; div = div / 10; }
이거같음 ㅇㅅㅇ
num은 님 코드에서 num1이랑 같은 애임
배열 배우고 와라
배열쓰는게 좋을 것 같은데 배열 공부하셈, 배열 10개짜리 생성해서 값 초기화하고 for(int i = 0 ; i < 10 ; i++){ 여기에 너가 원하는 조건 넣으셈}
int num[9]; 하는것도 생각해봤는데 for문안ㅅ에서 조건을 어떻게 해야할지 모르겠음
i 값이 반복문이 변할 때 마다 유동적으로 변하잖아 그걸 어떻게 짤지 잘 생각해봐 너가한거 단순히 답을 말해주자면
for(int i = 1 ; i <= 배열길이 ; i++){ num[i+1] = num[2i-1] % 10; num[i+2] = num[2i-1] / 10; }
아 내가 병신이었내 본문 안읽음 ㅈㅅ
int a[5]; int digit = 0; while (num1) { a[digit++] = num1 % 10; num1 /= 10; } for (int n=digit-1; n>=0; n--) printf("%d ", a[n]);
이게 제일 나은거 같다. num3, 5, 7은 결국 그 다음 변수를 구하기 위한 임시변수니까 걍 num1을 계속 나누면 되고, 최고 자리수인 1을 구하고 /10하면 0 되어서 while이 끝남. 이 방법의 장점은 자릿수가 5 미만이라도 정확하게 출력할 수 있다는 것.
물론 이건 숫자를 다루는 방식이고, 편의성 면에서는 char 배열을 이기긴 힘들다 ㅋㅋ 근데 처음이면 이런저런 방법 보고 본인이 연습 많이 해야지
다들 ㄳㄳ 더 해볼게
int로 받지 말고 char* 문자열로 받아서 ㄱㄱ
입력받은 문자열을 각 자리로 나눠서 단어하나씩으로 출력 시킬수있는거구나
ㅇㅇ char값에서 48 빼면 숫자나옴
for( 생략; 조건; 생략) 해서 while처럼 쓰셈 ㅋㅅㅋ
break를 언제까지로 해야해?
for문을 while문으로 바꾼다는 줄 ㅇㅅㅇ;;
저 코드에서 그냥 반복문써서 %랑 / 하는거 줄여보고 싶은데 어케 해야할지 모르겠어
for(int cnt = 5,tem = num, div = 10000; cnt; cnt--){ printf("%d ",tem / div); tem = tem % div; div = div / 10; }
이거같음 ㅇㅅㅇ
num은 님 코드에서 num1이랑 같은 애임
배열 배우고 와라
배열쓰는게 좋을 것 같은데 배열 공부하셈, 배열 10개짜리 생성해서 값 초기화하고 for(int i = 0 ; i < 10 ; i++){ 여기에 너가 원하는 조건 넣으셈}
int num[9]; 하는것도 생각해봤는데 for문안ㅅ에서 조건을 어떻게 해야할지 모르겠음
i 값이 반복문이 변할 때 마다 유동적으로 변하잖아 그걸 어떻게 짤지 잘 생각해봐 너가한거 단순히 답을 말해주자면
for(int i = 1 ; i <= 배열길이 ; i++){ num[i+1] = num[2i-1] % 10; num[i+2] = num[2i-1] / 10; }
아 내가 병신이었내 본문 안읽음 ㅈㅅ
int a[5]; int digit = 0; while (num1) { a[digit++] = num1 % 10; num1 /= 10; } for (int n=digit-1; n>=0; n--) printf("%d ", a[n]);
이게 제일 나은거 같다. num3, 5, 7은 결국 그 다음 변수를 구하기 위한 임시변수니까 걍 num1을 계속 나누면 되고, 최고 자리수인 1을 구하고 /10하면 0 되어서 while이 끝남. 이 방법의 장점은 자릿수가 5 미만이라도 정확하게 출력할 수 있다는 것.
물론 이건 숫자를 다루는 방식이고, 편의성 면에서는 char 배열을 이기긴 힘들다 ㅋㅋ 근데 처음이면 이런저런 방법 보고 본인이 연습 많이 해야지
다들 ㄳㄳ 더 해볼게