《C语言程序设计》翁恺 笔记
视频链接:点击这里!!!
goto慎用
goto慎用
goto慎用
**
题目:如何用1角、2角、5角的硬币凑出x元以下的金额**
break跳出循环
int main()
{
int x;
int one, two, five;
int exit = 0;
scanf("%d", &x);
for ( one = 0; one < x*10; one++)
{
for ( two = 0; two < x*10/2; two++)
{
for (five = 0; five < x*10/5; five++)
{
if (one + two * 2 + five * 5 == x * 10)
{
printf("可以用%d个1角加%d个2角加%d个5角得到%d元\n", one, two, five, x);
exit = 1;
break;//跳出最内层循环
}
}
if (exit) break;//跳出第二层循环
}
if (exit) break;//跳出第一次循环
}
}
goto跳出循环
当有多重循环,要从最内层跳到最外层,可以用goto,其他时候不要使用goto
乱用goto,会破坏程序结构性
int main()
{
int x;
int one, two, five;
int exit = 0;
scanf("%d", &x);
for ( one = 0; one < x*10; one++)
{
for ( two = 0; two < x*10/2; two++)
{
for (five = 0; five < x*10/5; five++)
{
if (one + two * 2 + five * 5 == x * 10)
{
printf("可以用%d个1角加%d个2角加%d个5角得到%d元\n", one, two, five, x);
goto out;
}
}
}
}
out:
return 0;
}