[ create a new paste ] login | about

Link: http://codepad.org/GNvTR0Op    [ raw code | output | fork ]

박정욱 - C, pasted on Apr 9:
//시스템 소프트웨어 수678
//0~10진수 덧셈
#include<stdio.h>
#include<stdlib.h>
/////////////////////////////////////거듭제곱함수/////////////////////////////////////////
int multiple(int num, int n)		
{	
	int result=1;
	for(n=n ; n >0 ; n--)
	{	result *=num;	}
	return result;					//result = num^n 
};
//////////////////////////////////////////////////////////////////////////////////////////

int main()
{	
	int i,j,			//i = 횡열(↓)		j = 종열(→) 
		a,n,			//a = i+j
		jinsu,			//진수
		jinsu_n,		//진수^n 거듭제곱
		input1,	input2,	//입력받는 수 1, 입력받는 수 2
		**table;		//입력받는수 1과 2에 맞게 2차원 배열 테이블을 만들기위한 포인터

	////////////////////////////////진수와 숫자1,2 입력.///////////////////////////////////////////
	while(1)
	{	printf("몇진수의 덧셈을 합니까?\njinsu : "); 
		scanf_s("%d",&jinsu);
		if(jinsu > 0 && jinsu <=10)								//10진수 이하만 입력 가능.
		{
			printf("더할 숫자를 입력하세요(10진수)\ninput1:");	//10진수의 숫자로 더할 숫자 2개를 입력.
			scanf_s("%d",&input1);printf("input2:");
			scanf_s("%d",&input2);
			break;												//입력 후, 무한 반복루트 탈출.
		} 
		printf("1~10만 입력 가능합니다.\n");						//1~10진수 이외의 진수를 입력했을시
	}															//경고 후, 반복루프 재수행.
	/////////////////////////////2차원배열 테이블의 동적 메모리 할당.////////////////////////////////
	table = (int **)malloc(sizeof(int)*(input1+1));
	for(i=0; i <= input1; i++)
	{	table[i] = (int *)malloc(sizeof(int)*(input2+1));	}
	/////////////////////////////////////////테이블/////////////////////////////////////////////////
	printf("i\j");						// 좌측 상단의 표시.
	for(j=0; j<=input2;j++)			
	{	printf("	┃%d",j);	}		// 상단에 j 종열을 출력. 1~input2 까지.
	for(i=0 ; i <=input1 ; i++)
	{	
		for(j=0 ; j <= input2;j++)
		{
			a=i+j;	table[i][j]=0;		//table[i][j]의 초기화.
			for(n=10 ; n>=0; n--)
			{
				jinsu_n=multiple(jinsu, n);		//jinsu_n = jinsu의 n 거듭제곱 초기화
				if(a/jinsu_n >= 1)				//a=i+j를 jinsu_n으로 나눈 값이 1이상이면 값을 table[i][j]에 대입.
				{	table[i][j]+= (a/jinsu_n)*multiple(10,n);	}
				a=a%jinsu_n;					//나머지를 a에 대입.
			}
		}

		printf("\n《i%d》	",i);				//좌측에 i 횡열을 출력.
		for(j=0; j <= input2; j++)			//table[i][j]의 j=0~input2 까지 출력후, 줄바꿈.
		{	printf("┃%d	",table[i][j],j);		}
		
	}
/////////////////////////////////////////결과 값 출력/////////////////////////////////////////////////
	printf("\n\n%d+%d=%d(%d)\n",input1,input2,table[input1][input2],jinsu);
	return 0;
}


Output:
1
2
3
4
In function `main':
undefined reference to `scanf_s'
undefined reference to `scanf_s'
undefined reference to `scanf_s'


Create a new paste based on this one


Comments: