#496: 一直RE


trewsla (trewsla)

學校 : 不指定學校
編號 : 2348
來源 : [36.224.217.90]
最後登入時間 :
2016-01-21 18:13:34
a011. 00494 - Kindergarten Counting Game -- UVa494 | From: [61.225.112.231] | 發表日期 : 2008-08-21 22:38

以下為code

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
 char a[1000];  
 while (cin.get()!= EOF)
   { 
     cin.get(a,1000);
     int b=1; 
     for (int i=0;i<=(strlen(a)-1);i++)
       {
         if (a[i]>122 || a[i]<65 || (a[i]<97 && a[i]>90)) 
           {
             if (((i!=0) && (i!= (strlen(a)-1))) && ((a[i-1]<122
                   && a[i-1]>97) || (a[i-1]>65 && a[i-1]<90)))
                {
                 b=b+1;
                 }
             else if (i== (strlen(a)-1))
                  b=b-1;   
           }
       }
    cout << b <<endl;  
   }
return 0;
}  

使用DEV-C++可以正常執行

不過在這就一直RE

請問各位大大 有哪邊需要改進的

謝謝大家

 

 
#497: Re:一直RE


POOHccc ()

學校 : 國立臺中技術學院
編號 : 1139
來源 : [220.135.97.253]
最後登入時間 :
2012-02-04 21:23:42
a011. 00494 - Kindergarten Counting Game -- UVa494 | From: [220.135.97.253] | 發表日期 : 2008-08-22 07:00

以下為code

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
 char a[1000];  
 while (cin.get()!= EOF)
   { 
     cin.get(a,1000);
     int b=1; 
     for (int i=0;i<=(strlen(a)-1);i++)
       {
         if (a[i]>122 || a[i]<65 || (a[i]<97 && a[i]>90)) 
           {
             if (((i!=0) && (i!= (strlen(a)-1))) && ((a[i-1]<122
                   && a[i-1]>97) || (a[i-1]>65 && a[i-1]<90)))
                {
                 b=b+1;
                 }
             else if (i== (strlen(a)-1))
                  b=b-1;   
           }
       }
    cout << b <<endl;  
   }
return 0;
}  

使用DEV-C++可以正常執行

不過在這就一直RE

請問各位大大 有哪邊需要改進的

謝謝大家

 



我猜可能測資長度>1000,所以造成記憶體使用不正常

改用string、或是字元陣列開大一點試試 

 
#5869: Re:一直RE


mofom123 (Hong0308)

學校 : 實踐大學
編號 : 13226
來源 : [1.161.92.215]
最後登入時間 :
2022-02-24 21:30:43
a011. 00494 - Kindergarten Counting Game -- UVa494 | From: [118.167.20.132] | 發表日期 : 2011-09-29 20:21

 

我也是 RE ...

可以也順便看看我的麻...? 我有照你做的 開很大的陣列...

 

#include <stdio.h>

#include <stdlib.h>

#include <strings.h>

 

main(){

 

    char in[100000];

    int many;

    char *p;

    

    for(;;){

            

        if(gets(in)==NULL) break;

        

        p=strtok(in," \n");

        

        for(many=0;;){

            

            if(*p>=97 && *p<=122)                                 

            ++many;

            if(*p>=65 && *p<=90)                                 

            ++many;

            if(p==NULL) break;

            p=strtok(NULL," \n");

            if(p==NULL) break;

        }

        printf("%d\n",many);

    }

 

}

 

 
ZeroJudge Forum