Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

为什么1002报错??

Posted by yunyunhome at 2013-06-19 09:13:20
Runtime Error
http://poj.org/problem?id=1002

/* 
 * File:   main.c
 * Author: yunyun
 *
 * Created on 2013年6月14日, 下午11:36
 */


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


int paixu(char num)
{
    int a =0;
    
    switch(num)
    {
        case '0':
            return 0;
        case '1':
            return 1;
        case 'A':
        case 'B':
        case 'C':
        case '2':
            return 2;
        case 'D':
        case 'E':
        case 'F':
        case '3':
            return 3;
        case 'G':
        case 'H':
        case 'I':
        case '4':
            return 4;
        case 'J':
        case 'K':
        case 'L':
        case '5':
            return 5;
        case 'M':
        case 'N':
        case 'O':
        case '6':
            return 6;
        case 'P':
        case 'R':
        case 'S':
        case '7':
            return 7;
        case 'T':
        case 'U':
        case 'V':
        case '8':
            return 8;
        case 'W':
        case 'X':
        case 'Y':
        case '9':
            return 9;
        case '-':
            return -1;
        default :
            return -1;
    }
}

int check_do(char * num)
{
    int num_long = strlen(num);
    int end=0;
    int i=0,k=0,j=1;
    for(i=num_long;i>=0;i--)
    {
        k=paixu(num[i]);
        if(k!=-1)
        {
            end=end+k*j;
            j=j*10;
        }
    }
    
    //判断是否
    if(end>9999999 || end <1000000)
        return -1;
    return end;
}

/*
 * 
 */
int main(int argc, char** argv) {
    int num [1000] ={0};
    int num_num[1000] ={0};
    char char_num[100];
    int num1 =0,i=0,j=0,k=0;
    
    while(scanf("%s",char_num)!=EOF)
    {
       num1 =check_do(char_num);
       
       if(num1 != -1)
       {
           if(i==0)
           {
               num[i]=num1;
               num_num[i]=1;
               i++;
           }
           else
           {
                k=0;
                //看看有没有记录
                for(j=0;j<i;j++)
                {
                    if(num[j] == num1)
                    {
                        k=1;//标识读了
                        num_num[j]++;
                    }

                }
                
                //
                if(k==0)
                {
                    num[i]=num1;
                    num_num[i]=1;
                    i++;
                }
           }
       }
           
    }
   
    int end_num[1000]={0}; 
    int long_nu =0;
   
    for(i=0;i<1000;i++)
    {
        if(num[i]==0)
        {
            break;
        }
        if(num_num[i]<=1)
        {
            
        }
        else
        {
            end_num[long_nu]=num[i];
            end_num[long_nu+1] = num_num[i];
            long_nu=long_nu+2;
        }
        
    }
    if(long_nu==0)
    {
        printf("No duplicates.");
    }
    else
    {
        //paixu 
        int key=0,info=0;
        
        for(i=0;i<long_nu;i=i+2)
        {
            key=i;
            for(j=i;j<long_nu;j=j+2)
            {
                if(end_num[key]>end_num[j])
                {
                    key=j;
                }
            }
            
            info=end_num[i];
            end_num[i]=end_num[key];
            end_num[key]=info;
            
            info=end_num[i+1];
            end_num[i+1]=end_num[key+1];
            end_num[key+1]=info;
            
        }
        
        for(i=0;i<long_nu;i=i+2)
        {
            printf("%d-%d   %d\n",end_num[i]/10000,end_num[i]%10000,end_num[i+1]);
        }
    }
    return (0);
}


Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator