當前位置:編程學習大全網 - 編程軟體 - C語言分鈔票問題 只用WHILE循環語句 我這樣寫對了嗎 我是初學者

C語言分鈔票問題 只用WHILE循環語句 我這樣寫對了嗎 我是初學者

第壹種方法裏寫得全面壹些,滿足了題設的條件:換成30張小鈔票。而且在程序開頭,可以加上壹個變量用來計數,比如:

int count = 0; // 在第壹種方法裏,也可以計算命中的次數

if(a50*50+a20*20+a10*10+a5*5==500&&a5>0) {

printf("a50=%d,a20=%d,a10=%d,a5=%d\n",a50,a20,a10,a5);

printf("更換成功的次數:%d\n",(++count));

}

如果在 for 循環裏希望遍歷的次數更少,可以讓最高上限略減:

for(x=1;x<10;++x)

{

for(y=1;y<=(500-50*x)/20;++y) // 上層已經確定了 x

{

for(z=1;z<=(500-50*x-20*y)/10;++z) // 上層已經確定了 x , y

{

for(a=1;a<=(500-50*x-20*y-10*z)/5;++a) // 上層已確定了 x , y , z

{

if(50*x+20*y+z*10+5*a==500 && (x+y+z+a)==30) // 還需要滿足壹個和為 30 張的小條件

{

printf("%d\t%d\t%d\t%d\n",x,y,z,a);

++i;

}

}

}

}

}

  • 上一篇:妳覺得有道卡搭的少兒編程,是否適合學齡前兒童的發展階段
  • 下一篇:英語不好的人能不能學IT編程?
  • copyright 2024編程學習大全網