More actions
소 감
코딩시간이 매우 오래걸렸다. 함수를 만들어 쓰는데 익숙하지 않아 최대한 함수를 많이 이용하는쪽으로 하려다보니 매우 오래걸린것 같고 다분히 놀러갔다와서 ㅡ,.ㅡ 머리가 돌인된것 같기도 하는듯...
코 드
#include <stdio.h>
static int input_10,input_num;
int get_maxjarisu(int num1,int num2);
int get_jegob(int num,int count);
void behavior(int num1,int num2);
int get_count(int num1,int num2,int num3);
/*/////////////////////////////////////////
get_maxjarisu 최대 자리수 얻기 함수
기능 : 숫자,진법 값을 받아 최대 자리숫자를 얻는다
최대자리숫자는 나중에 출력부분에서 for 문에 쓰이게 된다.
////////////////////////////////////////*/
int get_maxjarisu(int num1,int num2)// num1 = 숫자 num2 = 진법
{
int count=1;
int dividing;
while(1)
{
dividing = get_jegob(num2,count);
if (num1>=dividing){
count++;
}
else{
break;
}
}
return count;
}
/*////////////////////////////////////////
get_count 자리수의 값 얻기 함수
기능 : 각자리의 숫자의 값을 얻는다
return 값은 진법<--보다 항상 작다
응용 : 원하는 자리의 수의 값을 얻을수 있다.
////////////////////////////////////////*/
int get_count(int num1,int num2,int num3) //num1 = 숫자 ,num2 = 진법,num3 = 자리수
{
if (num3 ==1){
return num1 % num2;
}
else{
int temp;
temp = num1 % get_jegob(num2,num3-1);
num1 = num1 - temp; //나머지를 없앰으로서 소숫점을 남기지 않는다.
return (num1 % get_jegob(num2,num3))/get_jegob(num2,num3-1);
}
}
/*////////////////////////////////////////
get_jegob 제곱함수
기능 : 단순이 제곱을 해주는 함수이다.
////////////////////////////////////////*/
int get_jegob(int num,int count) //num =제곱할수 num2 =제곱할횟수
{
int i;
int sum=1;
for (i=0;i<count;i++)
{
sum=sum*num;
}
return sum;
}
/*////////////////////////////////////////
behavior 행동함수
기능 : for문으로 각자리숫자의 값을 output하는
기능을한다.
////////////////////////////////////////*/
void behavior(int num1,int num2) //num1 = 숫자 ,num2 = 나눌수
{
int i;
int temp=0;
for (i=get_maxjarisu(num1,num2);i>0;i--)
{
temp = get_count(num1,num2,i);
printf("%d ",temp);
}
printf("\n\n");
}
/*////////////////////////////////////////
main 말그대로 메인
////////////////////////////////////////*/
void main()
{
while(1)
{
printf("/////////////////////////\n");
printf("////////진법바꾸기///////\n");
printf("/////////////////////////\n");
printf("10진수 = ");
scanf("%d",&input_10);
if (input_10==0){
break;
}
else{
printf(" 진법 = ");
scanf("%d",&input_num);
if (input_num >=2 && input_num <=24){
printf(" 결과 = ");
behavior(input_10,input_num);
}
}
}
}
스크린샷
-_-./.사라졌네..
나한테 할 말
잘해야겟따.ㅠ
영록맨ㅋㅋ 스샷1.JPG 뭔가 잘못된듯? 혹시 스샷2.JPG 아니냐?ㅋㅋㅋ 큰수찾아 저장하기 예가 나온다. --아영
┗ 샒 정말이네 같은이름으로 저장해부렷다 ㅠ - 김영록
혹시 데블C++쓰니? 소스는 잘되 있는것 같은데..탭정렬이 영..;;ㅁ;; 알아보기 힘들다아아아아...OTL - 조현태
┗ 아 ;;; 아직까지 while(1){ <-- 요런식으로 쓰는게 익숙치 않아서
정렬이 안되네 ㅋ;; 지적고마우이 - 김영록