[問題] 用陣列顯示2的十次方
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
今天用VC++2005練習想寫出如下的陣列
0000000002
0000000004
0000000008
0000000016
.
.
.
0000001024
=================================我是分隔線================================
原本一開始一直卡在進位問題
但是後來卻發現有個關鍵地方有沒有加+差很多
if(ar[j]>9)
{
ar[j+1]+=ar[j]/10; //為什麼在這裡加個+程式碼就對了??!!
ar[j]=ar[j]%10;
}
=================================沒加+======================================
0000000002
0000000004
0000000008
0000000016
0000000012
0000000024
0000000048
0000000016
0000000012
0000000024
=================================沒加+======================================
想破腦袋也不知道為什麼這邊會有這種差異
我把ar[0]的值除以10之後指派給ar[1]這樣子為什麼不行呢??
請板上的大大指導一下
多謝!!!!
程式碼如下:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int ar[10];
for(int i=0; i<10; i++)
{
ar[i]=0;
}
ar[0]=1;
for(int i=0; i<10; i++)
{
for(int j=9; j>=0; j--)
{
ar[j]*=2;
if(ar[j]>9)
{
ar[j+1]=ar[j]/10; //here!!!
ar[j]=ar[j]%10;
}
}
for(int j=9; j>=0; j--)
{
printf("%d",ar[j]);
}
printf("\n");
}
}
有問題的code: (請善用置底文標色功能)
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.227.99
※ 編輯: nelley 來自: 220.136.227.99 (07/20 16:48)
→
07/20 16:49, , 1F
07/20 16:49, 1F
※ 編輯: nelley 來自: 220.136.227.99 (07/20 16:49)
→
07/20 16:52, , 2F
07/20 16:52, 2F
→
07/20 16:57, , 3F
07/20 16:57, 3F
推
07/20 17:05, , 4F
07/20 17:05, 4F
→
07/20 17:06, , 5F
07/20 17:06, 5F
推
07/20 18:38, , 6F
07/20 18:38, 6F
→
07/20 19:09, , 7F
07/20 19:09, 7F
→
07/20 19:14, , 8F
07/20 19:14, 8F
推
07/20 19:41, , 9F
07/20 19:41, 9F
→
07/20 19:46, , 10F
07/20 19:46, 10F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章