c·c++/c 프로그래밍

큰수 더하기 [간단한 버젼]

바로이순간 2011. 12. 8. 23:21

#include <stdio.h>
#include <string.h>

int main() {
    int max, val, carry;
    int i, ml, nl;
    char mbuf[100], nbuf[100];
    int  m[100]={0,};
    int  n[100]={0,};
    int  s[100]={0,};
 
    printf("첫번째 수를 입력하세요.");
    scanf("%s",mbuf);
    printf("두번째 수를 입력하세요.");
    scanf("%s",nbuf);
 
    ml=strlen(mbuf);
    nl=strlen(nbuf);
    for(i=0;i<ml;i+=1) {

        m[ml-i-1]=mbuf[i]-48;

    }
    for(i=0;i<nl;i+=1) {

        n[nl-i-1]=nbuf[i]-48;

    }

 

    max=ml;
    if(nl>ml) max=nl;

 

    carry=0;
    for(i=0;i<max;i+=1) {
        val=m[i]+n[i]+carry;
        carry=val/10;
        s[i]=val%10;
    }
    if(carry>0) {

        s[max]=carry;

        max+=1;

    }


    printf("합은:");
    for(i=0;i<max;i+=1) {

        printf("%d",s[max-i-1]);

    }


    return 0;
}