一、break与goto
1、例题
1、1不从循环跳出
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
scanf("%d",&x);
int one;
int two;
int five;
for(one=1;one<x*10;one++){
for(two=1;two<x*5;two++){
for(five=1;five<x*2;five++){
if(one+two*5+five*5==x*10){
printf("%d元是%d个一角加%d个两角加%d个五角相加的\n",x,one,two,five);
}
}
}
}
return 0;
}
二、接力break从循环跳出
2.1代码及运行结果
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
scanf("%d",&x);
int one;
int two;
int five;
int exit=0;
for(one=1;one<x*10;one++){
for(two=1;two<x*5;two++){
for(five=1;five<x*2;five++){
if(one+two*5+five*5==x*10){
printf("%d元是%d个一角加%d个两角加%d个五角相加的\n",x,one,two,five);
exit=1;
break;
}
}
}
if(exit){
break;
}
}
return 0;
}
三、goto跳出循环(不建议使用)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
scanf("%d",&x);
int one;
int two;
int five;
int exit=0;
for(one=1;one<x*10;one++){
for(two=1;two<x*5;two++){
for(five=1;five<x*2;five++){
if(one+two*5+five*5==x*10){
printf("%d元是%d个一角加%d个两角加%d个五角相加的\n",x,one,two,five);
exit=1;
goto out;
}
}
}
}
out:
//goto out 结尾表示循环跳到out:后的内容
return 0;
}