디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

성님들 이것좀 알려달랑게 ㅠㅠ

권소현바라기(121.55) 2011.10.24 23:53:56
조회 35 추천 0 댓글 0


두 문자열을 입력받아서

문자열을 더하고 빼기하는 문제인데..

빼기에서 걸린당께..ㅠ



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

int compare(const char n1[], const char n2[]);
void add(const char n1[], const char n2[], char n3[]);
void minus(const char n1[], const char n2[], char n3[]);
void mult(const char n1[], const char n2[], char n3[]);

void main(){
 int s;
 char a[]="123456789", b[]="123456788",c[]={0};
 
 
 s = compare(a,b);
 if(s == 1)
  printf("큰 수 = %s\\n",a);
 else if(s == -1)
  printf("큰 수 = %s\\n",b);
 else
  printf(" 같음 ! \\n");

 
 add(a,b,c);
 minus(a,b,c);
 //printf("두 수의 합 = %s\\n",sum);
 //min = minus(a,b,c);
  //printf("두 수의 차 = %s\\n",min);
 //x = mult(a,b,c);
  //printf("두 수의 곱 = %s\\n",x);


}

int compare(const char n1[], const char n2[]){
 int i,len1,len2;
 len1= strlen(n1);
 len2= strlen(n2);

 if(len1>len2)
  return 1;
 else if(len1<len2)
  return -1;
 else
  for(i=0;i<len1;i++){
   if(n1[i] > n2[i])
    return 1;
   else if(n1[i] < n2[i])
    return -1;}


}

void add(const char n1[], const char n2[], char n3[]){
 int i,len,len1,len2,carry=0;
 char temp1[65]={0},temp2[65]={0},sum[65]={0};
 len1=strlen(n1);
 len2=strlen(n2);
 if(len1>len2){
  temp1[0]=\'0\';
  strcat(temp1,n1);
  for(i=0;i<=len1-len2;i++)
   temp2[i] = \'0\';
   strcat(temp2,n2);}

 else if(len1<len2){
  temp2[0]=\'0\';
  strcat(temp2,n2);
  for(i=0;i<=len2-len1;i++)
   temp1[i] = \'0\';
  strcat(temp1,n1);}
 else{
  temp1[0]=\'0\';
  strcat(temp1,n1);
  temp2[0]=\'0\';
  strcat(temp2,n2);
 }
 printf(" %s. %s \\n",temp1,temp2);

 len=strlen(temp1);
 for(i=len-1;i>=0;i--){
  n3[i] = (temp1[i] -\'0\' + temp2[i] -\'0\' + carry)%10 +\'0\';//temp1과 temp2와 캐리값을 더한후에
                //10으로 나눈 나머지 값을 문자열로 변환
  carry = (temp1[i] -\'0\' + temp2[i] -\'0\' + carry)/10;}//temp1과 temp2와 캐리값을 더한후에
               //10으로 나눈 값을 문자열로 변환
 n3[len]=\'\\0\';
 
 if(n3[0]==\'0\')
  for(i=0;i<len;i++)
   n3[i] = n3[i+1];//제일 앞자리가 0일 경우 다음값을 앞으로 가져와서 0을 없앰.
 n3[len]=\'\\0\';
 printf("%s \\n",n3);
  /*
  for(i=1;i<len1;i++)
   temp1[i]=n1[i] - \'0\';
   temp2[i]=n2[i] - \'0\';
  
  for(i=len;i<0;i--)
   if(temp1[i]+temp2[i] > 9)
    temp1[i-1]+=1;
   */
 
}


---------------------이부분이 문제랑게 ㅠㅠ--------------------------------

void minus(const char n1[], const char n2[], char n3[]){
 int i,len,len1,len2,carry=0;
 char temp1[65]={0},temp2[65]={0},sum[65]={0};
 len1=strlen(n1);
 len2=strlen(n2);
 if(len1>len2){
  temp1[0]=\'0\';
  strcat(temp1,n1);
  for(i=0;i<=len1-len2;i++)
   temp2[i] = \'0\';
   strcat(temp2,n2);}

 else if(len1<len2){
  temp2[0]=\'0\';
  strcat(temp2,n2);
  for(i=0;i<=len2-len1;i++)
   temp1[i] = \'0\';
  strcat(temp1,n1);}
 else{
  temp1[0]=\'0\';
  strcat(temp1,n1);
  temp2[0]=\'0\';
  strcat(temp2,n2);
 }
 printf(" %s. %s \\n",temp1,temp2);

 len=strlen(temp1);
 for(i=len-1;i>=0;i--){
  if(temp1[i]-\'0\' > temp2[i]-\'0\')
  n3[i] = (temp1[i] -\'0\' - temp2[i] -\'0\') +\'0\';//temp1과 temp2와 캐리값을 더한후에
                //10으로 나눈 나머지 값을 문자열로 변환
  else if(temp1[i]-\'0\' < temp2[i]-\'0\'){
   if(temp1[i-1] == 0)
    temp1[i-2] = (temp1[i-3] -\'0\' - 1)+\'0\';
    temp1[i-1] = (temp1[i] -\'0\' - 1)+\'0\';
    n3[i] = (10 + temp1[i] -\'0\' - temp2[i] -\'0\') +\'0\';
   else
    temp1[i-1] = (temp1[i] -\'0\' - 1)+\'0\';
    n3[i] = (10 + temp1[i] -\'0\' - temp2[i] -\'0\') +\'0\';
   }
  else
   n3[i] = (temp1[i] -\'0\' - temp2[i] -\'0\') +\'0\';
 }
  
               //10으로 나눈 값을 문자열로 변환
 n3[len]=\'\\0\';
 
 if(n3[0]==\'0\')
  for(i=0;i<len;i++)
   n3[i] = n3[i+1];//제일 앞자리가 0일 경우 다음값을 앞으로 가져와서 0을 없앰.
 n3[len]=\'\\0\';
 printf("%s \\n",n3);


 }

void mult(const char n1[], const char n2[], char n3[]){


}


성님들은 문제를 해결해줄거라 믿음요!

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 축의금 적게 내면 눈치 줄 것 같은 스타는? 운영자 24/11/11 - -
공지 프로그래밍 갤러리 이용 안내 [79] 운영자 20.09.28 39290 62
2773667 프로그래밍 갤: 존재 자체가 의미가 없음 프갤러(125.177) 21:24 3 0
2773666 최저임금도 안주기로 유명한 대구 근황 발명도둑잡기갤로그로 이동합니다. 21:24 1 0
2773664 코딩테스트 << 솔직히 이거 뭔 의미가 있음? ㅇㅇ(124.49) 21:19 6 0
2773662 아마존 개발자 대량 해고 후 AI 도입 ㅇㅇ(211.236) 21:11 11 0
2773659 공무원은 도대체 헬이냐 헤븐이냐 [9] 아스카영원히사랑해갤로그로 이동합니다. 21:02 40 0
2773658 자위하는 이미지 날라갔네... 도리스아 skt(112.170) 21:01 21 0
2773656 그냥 전공자가 잘 함 ㅇㅇ(210.178) 21:00 14 0
2773654 크리스마스 디저트 슈톨렌 왔다 ㅇㅅㅇㅋㅋ ㅇㅇ(123.213) 20:52 10 0
2773649 나님 낼 새벽 5km 달려야징~ ♥냥덩콜라♥갤로그로 이동합니다. 20:47 8 0
2773648 꿈은 위대하고 강하게 도리스아 skt(112.170) 20:46 18 0
2773646 ❄+나님 시작합니당❤+ ♥냥덩콜라♥갤로그로 이동합니다. 20:42 7 0
2773644 ☀+나님 시작합니당❤+ ♥냥덩콜라♥갤로그로 이동합니다. 20:37 7 0
2773640 오늘 회사에서 하루 종일 개인플젝함 프갤러(211.234) 20:22 22 0
2773639 인지과학조져라 손발이시립디다갤로그로 이동합니다. 20:19 10 0
2773637 황영조 네 이노옴 !!!!!!!!! ♥Sub2냥덩♥갤로그로 이동합니다. 20:18 13 0
2773636 개발자 라기 보다는 회사원 같은데 ㅇㅅㅇ [1] 포항의봄갤로그로 이동합니다. 20:14 27 0
2773635 외국계 나스닥 상장사 취업했다 [7] ㅇㅇ(59.12) 20:05 41 0
2773630 아까 전. 그 사이 밥먹고 자위하고, 미치겠다잉... 도리스아(14.35) 19:51 19 0
2773629 컴공은 걍 주저리주저리 떠드는 것부터가 무근본이라는 증거임 ㅋㅋ [1] ㅇㅇ(124.49) 19:50 31 1
2773624 생각해보니 18학번 컴공은 와인 아닐까? ㅇㅇ(221.146) 19:30 18 0
2773622 유흥업소에 가고 싶구나 [5] 아스카영원히사랑해갤로그로 이동합니다. 19:27 33 0
2773620 리액트에서 보통 input 관리할 때 하나하나 state만들어서함? 프갤러(119.66) 19:22 14 0
2773619 와 시발 난 천재임 ㅇㅇ(221.146) 19:21 27 1
2773618 한국은 3권분립이 제도적으로도 안 되어있다 발명도둑잡기갤로그로 이동합니다. 19:18 10 0
2773617 진심 컴공 오지마라 ㅇㅇ(124.49) 19:18 42 0
2773616 [수능] '국어 지문'에 나온 사이트 '尹 퇴진 집회 안내'로 발명도둑잡기갤로그로 이동합니다. 19:07 14 0
2773615 대학병원 전산직 개발많이함? ㅇㅇ(182.217) 19:07 17 0
2773614 컴퓨터 구조론이 아니라 폰노이만 구조론 이 맞는거 아님? 프갤러(175.115) 19:07 18 1
2773612 오늘 나온 윤ㅡㅡㅡ하 신곡 3개 들어봤는데.... [13] 수능에서내가얼마나받을수잇을까요하느님부갤로그로 이동합니다. 19:03 23 1
2773611 김장 15포기 해서 발명도둑잡기갤로그로 이동합니다. 19:01 10 1
2773608 [홍보] 안녕 얘들아 내가 앱을 출시했어 Kayroo갤로그로 이동합니다. 18:55 28 0
2773605 소련새끼들 십새끼들이네 정치범 수용소 가두고 도리스아(14.35) 18:53 11 0
2773604 오일 마사지 받던 도중 꼭지 스쳐서 놀라는 냥덩이❤ [1] ♥Sub2냥덩♥갤로그로 이동합니다. 18:49 27 0
2773603 동생 오늘 수능봤는데 뭐라고 하냐 ㅇㅅㅇ?? ㅇㅇ(223.62) 18:48 10 0
2773602 개발 공부 시작해 보려는데 프갤러(121.161) 18:47 21 0
2773600 [MBC아카데미] 인공지능 YOLO 교육과정 수강생 모집 (전액무료) MBC(122.46) 18:37 17 0
2773596 php는 보면 볼수록 아름답더라 이기 슈퍼막코더(126.255) 18:20 27 0
2773595 예전 네이버 [5] 프갤러(175.115) 18:16 55 0
2773594 에혀... 엉덩이팡팡갤로그로 이동합니다. 18:14 12 0
2773592 대학생 수준에서 외주 하려면 최소 어느정도 수준이어야함? 프갤러(182.230) 18:12 20 0
2773591 요즘 중국 OTT 영화시장....근황 발명도둑잡기갤로그로 이동합니다. 18:12 16 0
2773589 남은건 탄핵뿐! [윤설열탄핵국회의원연대 발족식] 발명도둑잡기갤로그로 이동합니다. 18:05 10 0
2773588 김재연 상임대표 시국순회 1일차 [울산] 발명도둑잡기갤로그로 이동합니다. 18:01 9 0
2773586 진보당 당직자들에게 뭐든지 물어봤다 | 진보당 Q&A 발명도둑잡기갤로그로 이동합니다. 17:58 11 0
2773585 당신이 몰랐던 진보당에 대한 이야기 - 여섯 번째 발명도둑잡기갤로그로 이동합니다. 17:56 9 0
2773582 테일러 스위프트는 어떻게 '제국의 설계자'가 됐나 발명도둑잡기갤로그로 이동합니다. 17:30 17 0
2773581 수능 국어 문제지에 공개된 도메인을 대통령 퇴진 촉구용으로 사용한다면?! 손발이시립디다갤로그로 이동합니다. 17:28 24 0
2773578 남극서 9000만년 전 ‘호박’ 사상 첫 발견 발명도둑잡기갤로그로 이동합니다. 17:21 17 0
2773576 내일 휴가라고 메시지를 3번 남겼는데 [4] 아스카영원히사랑해갤로그로 이동합니다. 17:17 62 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2