2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 如何用C语言实现用1角 2角和5角的硬币凑出10元以下的金额(goto)

如何用C语言实现用1角 2角和5角的硬币凑出10元以下的金额(goto)

时间:2019-11-28 00:21:14

相关推荐

如何用C语言实现用1角 2角和5角的硬币凑出10元以下的金额(goto)

如何用C语言实现用1角、2角和5角的硬币凑出10元以下的金额

break和continue

只能对它所在的那层循环

方法①:接力break

#include <stdio.h>int main() {int x;int one,two,five;int exit =0;scanf("%d",&x);for(one=1;one<x*10/1;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个2角加%d个5角得到%d元\n",one,two,five,x);exit=1;break;}}if(exit==1)break;}}//if(exit==1) break;}

方法②goto

C 语言中的goto语句允许把控制无条件转移到同一函数内的被标记的语句。

**注意:**在任何编程语言中,都不建议使用goto语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。

语法

C 语言中goto语句的语法:

goto label;...label: statement;

在这里,label可以是任何除 C 关键字以外的纯文本,它可以设置在 C 程序中goto语句的前面或者后面。

流程图

#include <stdio.h>int main() {int x;int one,two,five;int exit =0;scanf("%d",&x);for(one=1; one<x*10/1; 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个2角加%d个5角得到%d元\n",one,two,five,x);exit=1;goto out;}}//if(exit==1)break;}}out:return 0;//if(exit==1) break;}

结果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。