王道机试刷题记录(C++)

上海交大机试题目old bill问题

做题感悟:1.多样例输入一定要用while循环
2.一定要注意审题 输出最贵的价格可以进行倒循环,得到最贵的就不再进行循环,应增加判断的变量,使得得到最贵价格是直接跳出循环
3跳出循环分内外 一定要牢记内外关系

备注:我还是觉得英文版机试题好难哇

#include <iostream>
#include <cstdio>
using namespace std;


//猜测原始价格
int jiage(int a,int b,int c,int d){
    int flag=0;//判断是否可以被整除
    for(int i=9;i>0;i--){//倒循环可以保证输出的价格是最大的
        for(int j=9;j>=0;j--){//两次循环都要跳出
            int x=10000*i+1000*a+100*b+10*c+j;
            int m=x/d;
            if(x%d==0){
                flag=1;
                cout<<i<<' '<<j<<' '<<m<<endl;
                break;//得到最大值即跳出内层循环

            }
 
        }
        if(flag==1){
            break;//跳出外层循环
        }
    }
    if(flag==0){
        cout<<0<<endl;
    }
    return 0;
}
int main(){
    int d,a,b,c;
    while(cin>>d){
            cin>>a>>b>>c;
            jiage(a,b,c,d);

    }

    return 0;
    }

Xiaocan Zhang 写于2022年1月26日

上一篇:持续集成环境-Maven安装和配置及tomcat(我们喜欢说,我喜欢你。)


下一篇:C++入门_4程序流程结构