用C语言实现“用1角2角和5角拼成几元几元”并只输出一个结果
这个问题可以使用“break”跳出循环,也可以使用“goto”跳出循环
一、“break”跳出循环1.程序代码
#includeint main(){ int x; scanf("%d", &x); int one, two, five; int exit = 0; for (one=1; one //用1角2角和5角拼成几元几元 for ( two=1; two for(five=1; 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==1) break; } if(exit==1) break; } return 0; }
2.运行结果
break只能跳出当前循环,并不能直接跳出嵌套,所以要用三个“break”
二、 “goto”跳出循环1.程序代码
#includeint main(){ int x; scanf("%d", &x); int one, two, five; for (one=1; one for ( two=1; two for(five=1; 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; }
2.运行结果
“goto”语句注意事项
1.“goto”可以跳出多重循环,使程序直接跳到“out:”标号位置正常执行;
2.goto来回这么跳,在程序庞大后,在调试时很难找到错误,所以goto语句使用较少,也使得代码更容易阅读;
3.goto容易出错,但其仍然有存在的价值,在单个函数中使用goto基本不可能出错,goto在程序反操作上很好用。



