首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

简单有关问题 速度解决 给分

2012-03-02 
简单问题 速度解决 给分向把一个文件里面的文字转化为数据却转不了,程序没错为什么?程序:#include stdio.

简单问题 速度解决 给分
向把一个文件里面的文字转化为数据却转不了,程序没错   为什么?

程序:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

void   main(){
        FILE       *fp;
char       line[1024];  
char       seps[]       =   "   ', '\n '   ";
char       *token;
char       temp[286][10][25];
float         data[286][10];
char       data1[286];
float     fold[10][34][22];
char       fold1[10][34];
double   d[7312];
float     temp1=0;
int         i=0,j=0,g=0,b=0,m=0,n,a,c=0,kn;
char       predict[19],predict1;
int         matches=0;
float     accu[10],total=0,total1=0,sd;


fp   =   fopen( "breast-cancer.arff ",   "r ");
if(fp   ==   NULL)  
{
printf( "Cannot   open   file:   %s\n ",   "in.txt ");
exit(0);
}

while(   (fgets(line,10240,fp))   !=   NULL)  
{

if   (   line[0]   ==   '@ '||line[0]   ==   '% '||   1   ==   strlen(line)   )
continue;

/*Sleep(5);*/
//printf( "Line   %d:   %s ",   strlen(line),   line);

token   =   strtok(   line,   seps   );  
while(   token   !=   NULL   )
{
/*   While   there   are   tokens   in   "line "   */
for(a=0;a <=strlen(token);a++){
temp[i][j][a]   =   token[a];   }
                  j++;    
                        /*   Get   next   token:   */
token   =   strtok(   NULL,   seps   );
}    
i++;
j   =   0;
}              
fclose(fp);  
               
                //Get   Data   into   array   and   discretize;
for(i=0;i <286;i++){
for(j=0;j <9;j++){
      printf( "%s, ",temp[i][j]);
      if(temp[i][j]== "10-19 ")             data[i][j]=0;
      else   if(temp[i][j]== "20-29 ")   data[i][j]=1;
      else   if(temp[i][j]== "30-39 ")   data[i][j]=2;
      else   if(temp[i][j]== "40-49 ")   data[i][j]=3;
      else   if(temp[i][j]== "50-59 ")   data[i][j]=4;
      else   if(temp[i][j]== "60-69 ")   data[i][j]=5;
      else   if(temp[i][j]== "70-79 ")   data[i][j]=6;
      else   if(temp[i][j]== "80-89 ")   data[i][j]=7;
      else   if(temp[i][j]== "90-99 ")   data[i][j]=8;

      else   if(temp[i][j]== "lt40 ")           data[i][j]=0;


      else   if(temp[i][j]== "ge40 ")           data[i][j]=1;
      else   if(temp[i][j]== "premeno ")     data[i][j]=2;

      else   if(temp[i][j]== "0-4 ")       data[i][j]=0;
      else   if(temp[i][j]== "5-9 ")       data[i][j]=1;
      else   if(temp[i][j]== "10-14 ")   data[i][j]=2;
      else   if(temp[i][j]== "15-19 ")   data[i][j]=3;
      else   if(temp[i][j]== "20-24 ")   data[i][j]=4;
      else   if(temp[i][j]== "25-29 ")   data[i][j]=5;
      else   if(temp[i][j]== "30-34 ")   data[i][j]=6;
      else   if(temp[i][j]== "35-39 ")   data[i][j]=7;
      else   if(temp[i][j]== "40-44 ")   data[i][j]=8;
      else   if(temp[i][j]== "45-49 ")   data[i][j]=9;
      else   if(temp[i][j]== "50-54 ")   data[i][j]=10;
      else   if(temp[i][j]== "55-59 ")   data[i][j]=11;
                             
                              else   if(temp[i][j]== "0-2 ")           data[i][j]=0;
      else   if(temp[i][j]== "3-5 ")           data[i][j]=1;
      else   if(temp[i][j]== "6-8 ")           data[i][j]=2;
      else   if(temp[i][j]== "9-11 ")         data[i][j]=3;
      else   if(temp[i][j]== "12-14 ")       data[i][j]=4;
      else   if(temp[i][j]== "15-17 ")       data[i][j]=5;
      else   if(temp[i][j]== "18-20 ")       data[i][j]=6;
      else   if(temp[i][j]== "21-23 ")       data[i][j]=7;
      else   if(temp[i][j]== "24-26 ")       data[i][j]=8;
      else   if(temp[i][j]== "27-29 ")       data[i][j]=9;
      else   if(temp[i][j]== "30-32 ")       data[i][j]=10;
      else   if(temp[i][j]== "33-35 ")       data[i][j]=11;
      else   if(temp[i][j]== "36-39 ")       data[i][j]=12;

      else   if(temp[i][j]== "yes ")       data[i][j]=0;
      else   if(temp[i][j]== "no ")         data[i][j]=1;

                              else   if(temp[i][j]== "1 ")       data[i][j]=0;
      else   if(temp[i][j]== "2 ")       data[i][j]=1;
      else   if(temp[i][j]== "3 ")       data[i][j]=2;

      else   if(temp[i][j]== "left ")         data[i][j]=0;


      else   if(temp[i][j]== "right ")       data[i][j]=1;

      else   if(temp[i][j]== "left_up ")           data[i][j]=0;
      else   if(temp[i][j]== "left_low ")         data[i][j]=1;
      else   if(temp[i][j]== "right_up ")         data[i][j]=2;
      else   if(temp[i][j]== "right_low ")       data[i][j]=3;
      else   if(temp[i][j]== "central ")           data[i][j]=4;

      printf( "%f\n ",data[i][j]);
}
}
}

文件是:
'40-49 ', 'premeno ', '15-19 ', '0-2 ', 'yes ', '3 ', 'right ', 'left_up ', 'no ', 'recurrence-events '
'50-59 ', 'ge40 ', '15-19 ', '0-2 ', 'no ', '1 ', 'right ', 'central ', 'no ', 'no-recurrence-events '
'50-59 ', 'ge40 ', '35-39 ', '0-2 ', 'no ', '2 ', 'left ', 'left_low ', 'no ', 'recurrence-events '
'40-49 ', 'premeno ', '35-39 ', '0-2 ', 'yes ', '3 ', 'right ', 'left_low ', 'yes ', 'no-recurrence-events '
'40-49 ', 'premeno ', '30-34 ', '3-5 ', 'yes ', '2 ', 'left ', 'right_up ', 'no ', 'recurrence-events '
'50-59 ', 'premeno ', '25-29 ', '3-5 ', 'no ', '2 ', 'right ', 'left_up ', 'yes ', 'no-recurrence-events '
'50-59 ', 'ge40 ', '40-44 ', '0-2 ', 'no ', '3 ', 'left ', 'left_up ', 'no ', 'no-recurrence-events '
'40-49 ', 'premeno ', '10-14 ', '0-2 ', 'no ', '2 ', 'left ', 'left_up ', 'no ', 'no-recurrence-events '
'40-49 ', 'premeno ', '0-4 ', '0-2 ', 'no ', '2 ', 'right ', 'right_low ', 'no ', 'no-recurrence-events '
'40-49 ', 'ge40 ', '40-44 ', '15-17 ', 'yes ', '2 ', 'right ', 'left_up ', 'yes ', 'no-recurrence-events '
'50-59 ', 'premeno ', '25-29 ', '0-2 ', 'no ', '2 ', 'left ', 'left_low ', 'no ', 'no-recurrence-events '
'60-69 ', 'ge40 ', '15-19 ', '0-2 ', 'no ', '2 ', 'right ', 'left_up ', 'no ', 'no-recurrence-events '
'50-59 ', 'ge40 ', '30-34 ', '0-2 ', 'no ', '1 ', 'right ', 'central ', 'no ', 'no-recurrence-events '
'50-59 ', 'ge40 ', '25-29 ', '0-2 ', 'no ', '2 ', 'right ', 'left_up ', 'no ', 'no-recurrence-events '
'40-49 ', 'premeno ', '25-29 ', '0-2 ', 'no ', '2 ', 'left ', 'left_low ', 'yes ', 'recurrence-events '




[解决办法]
temp[i][j]== "3-5 " -- strcmp(temp[i][j], "3-5 ") == 0

热点排行