回覆列表
  • 1 # prhil1199

    例6-7:在3位數中找一個滿足下列要求的正整數n:其各位數字的立方和恰好等於它本身。例如,371=33+73+13。  要判斷n是否滿足要求,必須將它的各位數字分拆開。  百位數字:n/100。n是整數,所以n/100不保留商的小數位,甩掉的是十位和個位數字,結果必然是百位數字。例如371/100的結果是3。  十位數字:n/10%10。n/10的結果甩掉的是個位數字,保留n的百位和十位數字,再除以10取餘數,結果必然是n的十位數字。例如371/10的結果是37,37%10的結果是7。  個位數字:n%10。n除以10取餘數,結果一定是n的個位數字。371%10的結果是1。  main()  {intn,i,j,k;   for(n=100;n<1000;n++)/*對所有的3位數迴圈*/  {i=n/100;/*的百位數字*/   j=n/10%10;/*的十位數字*/   k=n%10;/*的個位數字*/   if(n==i*i*i+j*j*j+k*k*k)  {printf("%d=%d*%d*%d+%d*%d*%d+%d*%d*%d\n",n,i,i,i,j,j,j,k,k,k);   break;/*只要求找一個滿足條件的數,所以找到後立即退出迴圈*/  }  }  } 例6-8:輸出2位數中所有能同時被3和5整除的數。  2位數的範圍是[10,99],能同時被3和5整除的數n滿足條件:n%3==0&&n%5==0。  不能同時被3和5整除的數n滿足條件:n%3!=0||n%5!=0。  main()  {intn;   for(n=10;n<100;n++)  {if(n%3!=0||n%5!=0)continue;/*n不滿足要求,結束本次迴圈*/   printf("%5d",n);}  }  執行程式,輸出結果是:153045607590  對2位數迴圈,即n=10,11,……,99。若不滿足要求,應跳過輸出語句轉而考察下一個n。所以用continue語句結束本次迴圈。若n滿足要求,則輸出n。  若把程式中continue語句換成break語句,則執行程式將無任何輸出。因為n=10時,滿足條件n%3!=0||n%5!=0,所以執行break語句,終止迴圈。

  • 中秋節和大豐收的關聯?
  • 電腦開機時嗡嗡響,過一陣就不響了,這是正常的嗎?