学校电脑桌:编写程序实现用一元人民币换成一分、两分、五分的硬币共50枚。

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/04 04:34:53
用C来写
gbsrept 朋友,首先谢谢你!不过你用了3个for语句,能否再简略一些呢?下面是一个朋友写的他觉得两个for还是不好,能不能用别的循环语句呢?
void main(){
int y,z,k=0;
for(y=3;y<50;y++){
for(z=3;z<20;z++){
if(y+4*z==50) {
k++;
printf(" method %d:\n", k);
printf(" number of 2 is %d \n", y);
printf(" number of 5 is %d \n", z);
}
}
}
}

int i5,i2,i1;
for(i5=0;i5<=100/5;i5++){
for(i2=0;i2<=(100-i5*5)/5;i2++){
for(i1=0;i1<=(100-i5*5-i2*2)/5;i1++){
if((i1+i2+i5)==50){
printf(%d,%d,%d,i5,i2,i1);
}//printf格式你再检查一下
}
}
}

int x,y,z;
for(z=0;z<=20;z++){
for(y=0;y<=50;y++){
for(x=0;x<=100;x++){
if((x + 2*y + 5*z)==100 && (x+y+z) == 50){
System.out.println(x+":"+y+":"+z);
}
}
}
}