程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-輸出2到5000中所有含有6和8的數

c語言-輸出2到5000中所有含有6和8的數

編輯:編程綜合問答
輸出2到5000中所有含有6和8的數

用C語言寫,2到5000中含6和8的數,急需,希望大神指教一下,哎,新手好難

最佳回答:


完整的算法代碼:
int a = 0, aa = 0, aaa = 0;/*用C語言寫,2到5000中含6和8的數,急需,希望大神指教一下,哎,新手好難*/
do
{
while (a == (aa * 10 + 6))
{
printf_s("%d ", a * 10 + aaa);
if (++aaa > 9){ aaa = 0; break; }
}
while (a == (aa * 10 + 8))
{
printf_s("%d ", a * 10 + aaa);
if (++aaa > 9){ aaa = 0; break; }
}
if (a != (aa * 10 + 6))
if (a != (aa * 10 + 8))
{
printf_s("%d ", a * 10 + 6);
printf_s("%d ", a * 10 + 8);
}
//if (a<50)
//{
// while (aa < 10) printf_s("%d ", (a * 10 + 6) * 10 + aa++);
// while (aaa < 10) printf_s("%d ", (a * 10 + 8) * 10 + aaa++);
// aa = 0; aaa = 0;
//}/*如果不要求順序的話算法:*/

if (a == (aa * 10 + 8)) ++aa;
++a;
} while (a<500);
寫算法主要通過分析一步步解決問題,最後得到完整算法,比起其他循環效率不止提高10倍,無論是循環用步進1或2.
如果步進為1則輸出6和8要循環10次,如果步進為2則要循環5次,而我這個只需循環一次,除了大等於十位的數是6或8要循環10次外,如60-69,80-89,160-169,180-189等,這些都是可以寫為算法的,這樣才稱為算法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved