换分币

bzsc / 2023-05-05 / 原文

一、问题描述:

 

二、设计思路:

 

三、程序流程图:

 

四、代码实现:

#include<stdio.h>
int main()
{
    
    int i,j,k;
    double a=1,b=0.5,c=0.1;
    int num=1,line=0;
    for(i=0;i<=5;i++){
        for(j=0;j<=10;j++){
            for(k=0;k<=50;k++){
                if((double)i*a+(double)j*b+(double)k*c==5.0)
                {
                    printf("%2d: 1元=%2d 5角=%2d 1角=%2d  ",num++,i,j,k);
                    line++;
                    if(line%3==0)printf("\n"); 
                }
            }
        }
    }
    
    return 0;
}

 还可以这样写,我个人比较喜欢上面那个。

#include<stdio.h>
int main()
{
    
    int i,j,k;
    int num=1,line=0;
    for(i=0;i<=5;i++){
        for(j=0;j<=10;j++){
            for(k=0;k<=50;k++){
                if(i*10+j*5+k==50)
                {
                    printf("%2d: 1元=%2d 5角=%2d 1角=%2d  ",num++,i/10,j/5,k);
                    line++;
                    if(line%3==0)printf("\n"); 
                }
            }
        }
    }
    
    return 0;
}

     天宇还是指点了我,double要转换的问题,不愧是会成为王的男人