以下為程式碼:
#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就出錯,是因為編譯器不同的緣故嗎?
以下為程式碼:
#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; ????
請問一下
trans[i]=num%10;
num/=10;
這一段我不是很懂 , 這是什麼意思!?
num%10 ????
num/=10; ????
trans[i]=num%10;
的意思是說:將num的最後一位(個位)放入trans[i]內
num/=10;
的意思是說:將num退一位(個位消掉、十位放到個位、百位放到十位......)