#12261: c-------無法列印答案


jjooee1998 (yes,it unknown)

學校 : 高雄市立高雄高級中學
編號 : 66386
來源 : [223.136.216.11]
最後登入時間 :
2021-01-31 13:19:11
a020. 身分證檢驗 | From: [36.238.231.78] | 發表日期 : 2017-06-21 08:56

這是我覺得最直觀的寫法,但無法列印出東西,是哪邊出了問題嗎?

(我暫時先偷懶只用 case A 等它成功再補齊)

#include <stdio.h>
#include <stdlib.h>

int main()
{
char x;
int m,n,o,p,q,r,s,t,u;
while (scanf(" %c%d%d%d%d%d%d%d%d%d",&x,&m,&n,&o,&p,&q,&r,&s,&t,&u)!=EOF){
int a;
switch(x)
{
case 'A':
a=10;
break ;
}
int b = a%10;
int c = (a-b)/10;
int answer = c + b*9 + m*8 +n*7 +o*6 +p*5 +q*4 +r*3 +s*2 +t*1 +u;
if(answer%10==0)
printf("real \n");
else
printf("fake \n");
}
return 0;
}

 
#12262: Re:c-------無法列印答案


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2024-10-11 16:21:37
a020. 身分證檢驗 | From: [124.12.89.234] | 發表日期 : 2017-06-21 11:26

 

輸入問題

後面要當成int輸入的話

必須要用空白隔開

但是他輸入全部都是連在一起的

 




 
#12265: Re:c-------無法列印答案


jjooee1998 (yes,it unknown)

學校 : 高雄市立高雄高級中學
編號 : 66386
來源 : [223.136.216.11]
最後登入時間 :
2021-01-31 13:19:11
a020. 身分證檢驗 | From: [1.175.244.128] | 發表日期 : 2017-06-21 21:47

 

輸入問題

後面要當成int輸入的話

必須要用空白隔開

但是他輸入全部都是連在一起的

 






所以是在前面補個空白鍵嗎?這樣還是沒辦法過呢

 
#12266: Re:c-------無法列印答案


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2024-10-11 16:21:37
a020. 身分證檢驗 | From: [124.12.89.234] | 發表日期 : 2017-06-21 22:22

 

不是

照你的輸入方法

輸入必須像這樣

T1 1 2 6 6 3 8 3 6
有個方法是
你把每個都當char輸入
然後再轉成int
 
#12268: Re:c-------無法列印答案


jjooee1998 (yes,it unknown)

學校 : 高雄市立高雄高級中學
編號 : 66386
來源 : [223.136.216.11]
最後登入時間 :
2021-01-31 13:19:11
a020. 身分證檢驗 | From: [36.238.233.135] | 發表日期 : 2017-06-23 09:45

 

不是

照你的輸入方法

輸入必須像這樣

T1 1 2 6 6 3 8 3 6
有個方法是
你把每個都當char輸入
然後再轉成int



謝謝~請讓我再問兩個問題:

1.字元和整數的轉換是要利用ASCII碼嗎?

2.直接用INT想為什麼不行?

 
#12269: Re:c-------無法列印答案


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2024-10-11 16:21:37
a020. 身分證檢驗 | From: [124.12.89.87] | 發表日期 : 2017-06-23 11:44

 

1.對

'0'的ASCII是48

所以假設

char a = '0'

轉成int就是

int A = a - 48

a - '0'

 

2.因為int輸入要用空白或是換行隔開

照你這樣輸入

scanf(" %c%d%d%d%d%d%d%d%d%d",&x,&m,&n,&o,&p,&q,&r,&s,&t,&u)

然後輸入T112663836

x會抓到'T'

但是後面112663836會存到m裡

所以實際上只輸入了2個變數而已

印不出答案

是因為他還停在輸入




 
ZeroJudge Forum