여기서 어떻게 수정하면 좋을까요..?

NooriKim Reply 9 years 4 days ago
#include<stdio.h> #include<string.h> #define MAXLINE 1000 void itob(int n,char s[],int b); void reverse(char s[]); int main(void) { int number,base; char str[MAXLINE]; scanf("%d %d", &number, &base); for(number = 0 ; number < 30 ; number++) { itob(number,str,base); printf("%s\n", str); } return 0; } void itob(int n,char s[],int b) { int i,j,sign; if((sign=n)<0) n = -n; i = 0; do { j = n % b; s[i++] = (j <= 9)? j+'0' : j+'A'-10; }while((n/=b)>0); if(sign < 0) s[i++]='-'; s[i]='\0'; reverse(s); } void reverse(char s[]) { int i,j,c; for(i=0,j=strlen(s)-1;i<j;i++,j--){ c=s[i]; s[i]=s[j]; s[j]=c; } } 메인함수에 있는 포문에서 number의 값을 30으로 설정해주면 예제와 같은 결과가 나오기는 하는데... scanf로 제가 입력하는 값이 30의 위치에 오게 하고 싶은데 어떻게 해야 할지 모르겠습니다.. 도와주세요 ㅜㅜ
pichulia Reply 9 years 3 days ago
일단 scanf로 읽은 숫자가 2개밖에 없네요? 예제에서 입력데이터로 들어오는 숫자는 총 32개나 되는데 말이죠... 이 부분부터 고쳐야되지 않을까 싶습니다....