#1841: 神奇的空格


acm (acm)

學校 : 國立花蓮高級中學
編號 : 5854
來源 : [210.62.247.243]
最後登入時間 :
2010-02-01 15:08:10
d187. 11530 - SMS Typing -- UVa11530 | From: [59.115.207.206] | 發表日期 : 2009-04-25 13:31

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int a,b,n,str,sum;
char x[102];
int main()
{
 while(scanf("%d ",&n)==1) /*為什麼%d後面加個空格就AC 沒加就WA?*/

{
  for(a=0;a<n;a++)
  {
   gets(x);
   str=strlen(x);
   printf("Case #%d: ",a+1);
   sum=0;
   for(b=0;b<str;b++)
   {
    if(x[b]=='a'||x[b]=='d'||x[b]=='g'||x[b]=='j'||x[b]=='m'||x[b]=='p'||x[b]=='t'||x[b]=='w'||x[b]==' ')
    sum+=1;
    else if(x[b]=='b'||x[b]=='e'||x[b]=='h'||x[b]=='k'||x[b]=='n'||x[b]=='q'||x[b]=='u'||x[b]=='x')
    sum+=2;
    else if(x[b]=='c'||x[b]=='f'||x[b]=='i'||x[b]=='l'||x[b]=='o'||x[b]=='r'||x[b]=='v'||x[b]=='y')
    sum+=3;
    else if(x[b]=='s'||x[b]=='z')
    sum+=4;
   }
   printf("%d\n",sum);
  }
 }
 return 0;
}

 問題如程式碼的紅色字部份

 
#1888: Re:神奇的空格


davll (Davll)

學校 : 國立臺灣大學
編號 : 1266
來源 : [140.112.16.172]
最後登入時間 :
2014-05-19 21:04:10
d187. 11530 - SMS Typing -- UVa11530 | From: [118.169.73.115] | 發表日期 : 2009-05-02 19:27

 你不能直接把scanf和gets混在一起用,這樣就會出現無法預知的狀況。(每個編譯器都這樣)

你有得到AC就很幸運了,恭喜。希望你能試著修改成只有scanf或gets。  

 
#1889: Re:神奇的空格


davll (Davll)

學校 : 國立臺灣大學
編號 : 1266
來源 : [140.112.16.172]
最後登入時間 :
2014-05-19 21:04:10
d187. 11530 - SMS Typing -- UVa11530 | From: [118.169.73.115] | 發表日期 : 2009-05-02 19:27

#include
#include
#include
int a,b,n,str,sum;
char x[102];
int main()
{
 while(scanf("%d ",&n)==1) /*為什麼%d後面加個空格就AC 沒加就WA?*/

{
  for(a=0;a
  {
   gets(x);
   str=strlen(x);
   printf("Case #%d: ",a+1);
   sum=0;
   for(b=0;b
   {
    if(x[b]=='a'||x[b]=='d'||x[b]=='g'||x[b]=='j'||x[b]=='m'||x[b]=='p'||x[b]=='t'||x[b]=='w'||x[b]==' ')
    sum+=1;
    else if(x[b]=='b'||x[b]=='e'||x[b]=='h'||x[b]=='k'||x[b]=='n'||x[b]=='q'||x[b]=='u'||x[b]=='x')
    sum+=2;
    else if(x[b]=='c'||x[b]=='f'||x[b]=='i'||x[b]=='l'||x[b]=='o'||x[b]=='r'||x[b]=='v'||x[b]=='y')
    sum+=3;
    else if(x[b]=='s'||x[b]=='z')
    sum+=4;
   }
   printf("%d\n",sum);
  }
 }
 return 0;
}

 問題如程式碼的紅色字部份


 
#1891: Re:神奇的空格


davll (Davll)

學校 : 國立臺灣大學
編號 : 1266
來源 : [140.112.16.172]
最後登入時間 :
2014-05-19 21:04:10
d187. 11530 - SMS Typing -- UVa11530 | From: [118.169.73.115] | 發表日期 : 2009-05-02 21:19

抱歉,剛剛第二個回覆是不小心按到的

By the way, 你可以用

int T; 

char s[201]; 

cin.getline(s,200);

sscanf(s,"%d",&T); 

 這樣就可以了 

 
#1894: Re:神奇的空格


acm (acm)

學校 : 國立花蓮高級中學
編號 : 5854
來源 : [210.62.247.243]
最後登入時間 :
2010-02-01 15:08:10
d187. 11530 - SMS Typing -- UVa11530 | From: [59.115.202.195] | 發表日期 : 2009-05-02 23:19

抱歉,剛剛第二個回覆是不小心按到的

By the way, 你可以用

int T; 

char s[201]; 

cin.getline(s,200);

sscanf(s,"%d",&T); 

 這樣就可以了 


謝謝你^_^ 
#8037: Re:神奇的空格


cuh127 (futurhack~~~~~興國猩國也(絕對沒有在污辱女性))

學校 : 臺南市私立興國高級中學
編號 : 28132
來源 : [203.68.26.150]
最後登入時間 :
2014-04-02 16:51:03
d187. 11530 - SMS Typing -- UVa11530 | From: [118.233.187.216] | 發表日期 : 2013-08-03 23:41

眞的耶!加一個空格就AC 

 
ZeroJudge Forum