让我们先写一个程序:
用一角钱、两角钱、五角钱组成几元钱的方式。
例:两个一角钱加四个两角钱加两个五角钱可以组成两块钱。
还是先讲思路:
1.要先将“元”转换成“角”。也就是将输入的值*10,转化成以角为单位的。
2.再用for循环进行循环的嵌套。(其他循环也可以)
3.当数值小于输入几元的时候,一个一个进行加。
看我的代码段:
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
int one,two,five; //one表示一角,
for(one=1;one<x*10;one++)
{for(two=1;two<x*10/2;two++)
{for(five=1;five<x*10/5;five++)
{if(one+two*2+five*5==x*10)
{printf("可以用%d个一角%d个两角%d个五角换成%d元\n",one,two,five);
}
}
}
}
return 0;
}
这时候就把所有的可能值排列出来了。
然后然后然后,重点来了呀,看标题,今天我们可是写怎样从循环中跳出呀,让我们把目光转回到跳出循环嵌套吧。
我们可以用goto ,goto直接跳到所指方向,(我所指的方向,是有你的地方。哈哈哈,又傻傻的·了)
看一眼代码就明白啦:
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
int one,two,five; //one表示一角,
for(one=1;one<x*10;one++)
{for(two=1;two<x*10/2;two++)
{for(five=1;five<x*10/5;five++)
{if(one+two*2+five*5==x*10)
{printf("可以用%d个一角%d个两角%d个五角换成%d元\n",one,two,five);
goto out;
}
}
}
}
out:
return 0;
}
这样就是只输出一种方案的时候就停止啦。因为已经满足 if 里面的条件了。
一定要亲手写写看,加油吧,少年。
加油吧
晚上11点20分