ÇÁ·Î±×·¡¹Ö

 3198, 1/160 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   psh34
   [C]µµ¿ÍÁÖ¼¼¿ä¤Ð ÇÔ¼ö´Â ¹Ì¸® ÁÖ°í main¸¸ ¿Ï¼ºÇÏ´Â ¹®Á¦Àε¥

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2983 [º¹»ç]


ÇÔ¼ö´Â ÁÖ¾îÁ®Àִµ¥

ÀÌ ÄÚµåÀÇ ¿Ï¼ºÀÌ ¾î·Æ½À´Ï´Ù.

¾îÈÖ ºÐ¼®±â¶û °°Àºµ¥

À̰ÍÀº char=str[20]="526"; ¹¹ ÀÌ·±½ÄÀ¸·Î ¼ýÀÚ¸¦ ¹®ÀÚ¿­·Î ¹Þ¾Æ¼­ ¹Ø¿¡ ÇÔ¼ö·Î µ¹¸®¸é

»ó¼ö·Î ¹ÝȯÇÏ°Ô Ç϶ó´Â ±×·± ³»¿ëÀ̾ú½À´Ï´Ù¸¸...

¾Ï¸¸ ÇØµµ ¾ÈµÇ³×¿ä...

°á°ú°¡

(Ãâ·ÂÀº printf()ÇÔ¼ö¸¦ %d·Î)¸¸¾à 10Áø¼ö 526À» ³ÖÀ¸¸é 526, 8Áø¼ö 030À» ³ÖÀ¸¸é 030ÀÌ 10Áø Á¤¼öÇüÀ¸·Î Ãâ·ÂÀÌ´Ï 24 ÀÌ·±½ÄÀ¸·Î ³ª¿À°Ô Ç϶ó´Â°Ô ¿äÁ¡Àε¥

ÇÔ¼ö È£ÃâÇϰí Ãâ·ÂÇϴµ¥ ÀÚ²Ù ¼ýÀÚ°¡ ÇѰ³¸¸ ³ª¿É´Ï´Ù.

±³¼ö´ÔÀº ù¹øÂ°°Å¸¸ ³Ñ°ÜÁÖ¸é ¾Ë¾Æ¼­ ÇØÁÖ´Ï ÇÔ¼öºÎºÐÀº ½Å°æ¾²Áö¸»¶ó´Âµ¥...forµµ ÇÊ¿ä¾ø´Ù°í ÇϽðí...

¾î¶»°Ô ÇØ¾ßÇÒ±î¿ä

¾Æ¹«¸® ÇØµµ ¾ÈµÇ°í ±³¼ö´Ôµµ ¶Ñ·ÇÇÑ ¹æÇâµµ Á¦½ÃÇØÁÖÁö ¾Ê°í ´Ù¸¥ ÇлýÇÑÅ× ¹°¾îº¸¶ó°íÇØ¼­ ¾î¿ ¼ö ¾øÀÌ µµ¿òÀ» ¿äÃ»ÇØº¾´Ï´Ù. ºÎʵ右´Ï´Ù¤Ð¤Ð

#include <stdio.h>
#include <ctype.h>


int getIntNum(char firstCharacter);
int hexValue(char ch);

void main()
{
        char index[10];
        char a;
        int ddd;
        
        scanf("%s",index);
        a=*index;
//        fgets(index,sizeof(index),stdin);
        
        ddd=getIntNum(a);
        printf("%d\n",ddd);
                
                
}


int getIntNum(char firstCharacter)
{
    int num = 0;
    int value;
    char ch;
    if (firstCharacter != '0')
    {
        ch = firstCharacter;
        do
        {
            num = 10*num + (int)(ch-'0');
            ch = getchar();
        }while(isdigit(ch));
    }
    else
    {
        ch = getchar();
        if((ch>='0')&&(ch <='7'))
            do
            {
                num = 8*num + (int)(ch-'0');
                ch = getchar();
            }while((ch>='0')&&(ch <='7'));
            else if ((ch == 'X') || (ch=='x'))
            {
                while((value = hexValue(ch=getchar())) != -1)
                    num = 16 * num + value ;
            }
            else num = 0;
    }
    ungetc(ch , stdin);
    return num;
}
int hexValue(char ch)
{
    switch(ch){
    case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8':case '9':
        return (ch - '0');
    case 'A':case 'B':case 'C':case 'D':case 'E':case 'F':
        return (ch - 'A'+10);
    case 'a':case 'b':case 'c':case 'd':case 'e':case 'f':
        return (ch - 'a'+10);
    default:
        return -1;
    }
}

  Hit : 4356     Date : 2011/05/05 11:11



    
clockmaker »ìÆìº¸Áö´Â ¾Ê¾Ò´Âµ¥¿ä
main ÇÔ¼ö¿¡ fgets´Â ¿Ö ÁÖ¼®Ã³¸® ÇϽаÅÁÒ?
ÁÖ¼® °°ÀÌ ¾È »ý°å´Âµ¥¿ä. ±×°Å ÇÑ ¹ø Áö¿öº¸¼¼¿ä
2011/05/06  
psh34 ÁÖ¼®Ã³¸®°¡ ¸Â½À´Ï´Ù. ÁÖ¼®Ã³¸® ÇÑ ÀÌÀ¯´Â óÀ½¿¡ fgets¿´´Âµ¥ scanf·Î °Á ÇØ”f¾î¿ä

¾Æ¹«Æ° ÁøÂ¥ ¾Ö¸ÅÇϳ׿ä. ´Ù¸¥ºÐµéÇÑÅ×µµ ¾Ë¾Æº¸´Âµ¥ ÇÔ¼ö¸¦ ¼öÁ¤ÇؾßÇÑ´Ù´Â ºÐµµ °è½Ã³×¿ä

Àú»óÅ¿¡¼­´Â ÀÌ·ç¾îÁú¼ö ¾øÀ»±î¿ä
2011/05/06  
Prox À½ ´ëÃæ»ìÆìºÃ´Âµ¥¿ä (ÀÌÇØÇÏ·Á°í ÇØº¸Áø¾Ê°í ¤¾)

int getIntNum(char firstCharacter) <- ¹®ÀÚ Çϳª¸¦ ³Ñ°Ü¹Þ°í
{
int num = 0;
int value;
char ch;
if (firstCharacter != '0')
{
ch = firstCharacter;
do
{
num = 10*num + (int)(ch-'0');
ch = getchar(); <- ·çÇÁ¾È¿¡¼­ getchar¸¦ È£ÃâÇϴµ¥
}while(isdigit(ch));
}
else
{
ch = getchar();
if((ch>='0')&&(ch <='7'))
do
{
num = 8*num + (int)(ch-'0');
ch = getchar();
}while((ch>='0')&&(ch <='7'));
else if ((ch == 'X') || (ch=='x'))
{
while((value = hexValue(ch=getchar())) != -1)
num = 16 * num + value ;
}
else num = 0;
}
ungetc(ch , stdin);
return num;
}

ÈùÆ®´Â "±³¼ö´ÔÀº ù¹øÂ°°Å¸¸ ³Ñ°ÜÁÖ¸é ¾Ë¾Æ¼­ ÇØÁÖ´Ï ÇÔ¼öºÎºÐÀº ½Å°æ¾²Áö¸»¶ó´Âµ¥...forµµ ÇÊ¿ä¾ø´Ù°í ÇϽðí..."

±×·¸´Ù¸é.. ù±ÛÀÚ·Î ¹«¾ó ³Ñ°ÜÁÖ¸é, ·çÇÁ¾È¿¡¼­ getchar·Î ±ÛÀÚ¸¦ ¹Þ¾Æ¿À¸é¼­
¹«½¼ ÀÏÀΰ¡¸¦ ÇѴٴ¸»Àε¥......

int getIntNum(char firstCharacter) <- ij¸¯ÅÍÇϳª ³Ñ°ÜÁÖ°í
..
ch = firstCharacter; <- ±×°Ô ch¿¡ ÀúÀåµÇ°í
..
if((ch>='0')&&(ch <='7')) <- ÀÌ·± ºñ±³¹®µµÀÖ°í
..
else if ((ch == 'X') || (ch=='x')) <- ÀÌ·± ºñ±³¹®µµ Àֳ׿ä ^^

ÀÌÀÌ»óÀº ½º½º·Î ÇØ¼®ÇÏ·Á°í ÇØº¸¼¼¿ä
2011/05/06  
clockmaker ¸ÞÀÎÇÔ¼ö¸¸ ¿Ï¼ºÇÏ¸é µÇ´Â °ÅÁÒ?
ÇÔ¼ö¸¦ ¼öÁ¤ÇÒ ÇÊ¿ä ÀüÇô ¾ø°í¿ä. °¡º±°Ô ÀÌ Á¤µµ ÇÏ¸é µÇ°Ú³×¿ä. Èì

int main() {
char ch;
int forPrint;

printf("input : ");
scanf("%c" , &ch);

forPrint = getIntNum(ch);
printf("answer : %d", forPrint);
}
2011/05/06  
clockmaker ÀÌ °Ô½ÃÆÇÀº µé¿©¾²±â°¡ ¾È µÇ´Â±º¿ä;; º°·Î ±æÁø ¾ÊÀ¸´Ï »ó°ü ¾ø°ÚÁÒ ¤¾¤¾

»ý°¢ÇØ º¼ Á¡Àº scanf°¡ %c·Î ¹Þ´Â °Í°ú,
getIntNUm ÇÔ¼ö°¡ ³Ñ°Ü ¹Þ´Â °Ô 'firstCharacter'¶ó´Â Á¡ Á¤µµÀÔ´Ï´Ù.
º¯¼ö À̸§Àº ±¦È÷ Áþ´Â °Ô ¾Æ´ÏÁÒ ¤·_¤·
string Åë°·Î ³Ñ°ÜÁà¾ß ÇÒ±î¿ä charcter Çϳª¸¦ ³Ñ°ÜÁà¾ß ÇÒ±î¿ä??
2011/05/06  
psh34 ¾Æ;;; ÇѰ³¸¸ ÁÖ¸é µÈ´Ù´Â°Ô stringÅë°°¡ ¾Æ´Ï¶ó ¸Ç¾Õ¿¡ ÇѰ³¸¸ º¸³»¸é µÈ´Ù´Â°Å¿´±º¿ä;;

°¨»çÇÕ´Ï´Ù ´öºÐ¿¡ Ç®¾î³Â½À´Ï´Ù.¤Ð¤Ð
2011/05/09