凑金币
题目为:如何用1角、2角和5角的硬币凑出10元以内的金额呢?
- 循环
#include<stdio.h>
int main(){
int i,j,k;
int x;
printf("请输入要凑得的金额数(元):\n");
scanf("%d",&x);
int exit=0;
for(i=1;i<=100;i++){
for(j=1;j<=100;j++){
for(k=1;k<=100;k++){
if(10*x==i+j*2+k*5){
printf("%d个1角+%d个2角+%d个5角能凑出%d元\n",i,j,k,x);
}
}
}
}
}
- 接力break
#include<stdio.h>
int main(){
int i,j,k;
int x;
printf("请输入要凑得的金额数(元):\n");
scanf("%d",&x);
int exit=0;
for(i=1;i<=100;i++){
for(j=1;j<=100;j++){
for(k=1;k<=100;k++){
if(10*x==i+j*2+k*5){
printf("%d个1角+%d个2角+%d个5角能凑出%d元\n",i,j,k,x);
exit=1;
break;
}
}
if(exit)
break;
}
if(exit)//等同于 (exit==1)
break;
}
}
运行结果
- goto
#include<stdio.h>
int main(){
int i,j,k;
int x;
printf("请输入要凑得的金额数(元):\n");
scanf("%d",&x);
int exit=0;
for(i=1;i<=100;i++){
for(j=1;j<=100;j++){
for(k=1;k<=100;k++){
if(10*x==i+j*2+k*5){
printf("%d个1角+%d个2角+%d个5角能凑出%d元\n",i,j,k,x);
goto out;
}
}
}
}
out:
return 0;
}