#5591: 請高手解惑


arod1230 (冰箱)

學校 : 國立臺灣科技大學
編號 : 19763
來源 : [118.168.216.44]
最後登入時間 :
2011-11-21 21:55:18
a038. 數字翻轉 | From: [223.140.85.55] | 發表日期 : 2011-08-15 17:03

以下為程式碼:

#include<stdio.h>
int main(void)
{
 int num,trans[100];
 while(scanf("%d",&num)!=EOF)
 {
  int i,j,count=0;
  if(num!=0)
  {
   for(i=0;num!=0;i++) //儲存已經反轉的數字
   {
    trans[i]=num%10;
    num/=10;
   }
   while(trans[count]==0) //除0
   {
    count+=1;
   }
   for(j=count;j<i;j++) //印出結果
   {
    printf("%d",trans[j]);
   }
   printf("\n");
  }
  else //若輸入的是單獨0,則直接輸出
   printf("0\n");
 }
 
    return 0;
}

小弟用的是Dev C++編譯器,自己編譯時沒問題,但是丟上去後line 1就出錯,是因為編譯器不同的緣故嗎?

 
#5592: Re:請高手解惑


morris1028 (碼畜)

學校 : 國立花蓮高級中學
編號 : 3529
來源 : [114.37.59.62]
最後登入時間 :
2021-07-12 19:00:43
a038. 數字翻轉 | From: [118.161.216.4] | 發表日期 : 2011-08-15 17:07

int main() // 中間的 void 去掉
 
#5606: Re:請高手解惑


arod1230 (冰箱)

學校 : 國立臺灣科技大學
編號 : 19763
來源 : [118.168.216.44]
最後登入時間 :
2011-11-21 21:55:18
a038. 數字翻轉 | From: [223.140.71.159] | 發表日期 : 2011-08-16 15:43

int main() // 中間的 void 去掉


能詢問是為什麼嗎 我算新手不懂的地方較多不好意思 
#6646: Re:請高手解惑


tidub (LEE)

學校 : 國立嘉義大學
編號 : 17541
來源 : [1.175.218.153]
最後登入時間 :
2015-02-27 17:06:27
a038. 數字翻轉 | From: [140.130.175.191] | 發表日期 : 2012-05-21 14:56

以下為程式碼:

#include
int main(void)
{
 int num,trans[100];
 while(scanf("%d",&num)!=EOF)
 {
  int i,j,count=0;
  if(num!=0)
  {
   for(i=0;num!=0;i++) //儲存已經反轉的數字
   {
    trans[i]=num%10;
    num/=10;
   }
   while(trans[count]==0) //除0
   {
    count+=1;
   }
   for(j=count;j   {
    printf("%d",trans[j]);
   }
   printf("\n");
  }
  else //若輸入的是單獨0,則直接輸出
   printf("0\n");
 }
 
    return 0;
}

小弟用的是Dev C++編譯器,自己編譯時沒問題,但是丟上去後line 1就出錯,是因為編譯器不同的緣故嗎?


請問一下

 

    trans[i]=num%10;

    num/=10;

 

這一段我不是很懂 , 這是什麼意思!?

num%10 ????

num/=10;  ???? 

 
#6822: Re:請高手解惑


happyjohn369 (: ))

學校 : 高雄市立楠梓國中
編號 : 26392
來源 : [182.235.147.81]
最後登入時間 :
2012-07-25 13:57:20
a038. 數字翻轉 | From: [182.235.147.81] | 發表日期 : 2012-07-22 15:17

 

請問一下

 

    trans[i]=num%10;

    num/=10;

 

這一段我不是很懂 , 這是什麼意思!?

num%10 ????

num/=10;  ????  

trans[i]=num%10;

的意思是說:將num的最後一位(個位)放入trans[i]內

num/=10; 

的意思是說:將num退一位(個位消掉、十位放到個位、百位放到十位......)
 
ZeroJudge Forum