栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

乙级PAT1016-1020答案详解与重要知识点(2021.9.27-2021.10.2)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

乙级PAT1016-1020答案详解与重要知识点(2021.9.27-2021.10.2)

文章目录
    • 1016
    • 1017
    • 1018
    • 1019
    • 1020

1016
#include
using namespace std;

int main(){
    string a,b;
    int d1,d2;
    int n1,n2;
    int p1,p2;
    n1=n2=0;
    p1=p2=0;
    cin>>a>>d1;
    cin>>b>>d2;
    for(int i=0;i 
1017 
#include
using namespace std;

int main(int argc, char const *argv[])
{
    //a被除数,b除数,q商,r余数
    string a;
    vector q;
    int b,r=0;
    cin>>a;
    cin>>b;
    int i=0;
    if((a[0]-'0')%b==(a[0]-'0')){
        r=a[0]-'0';
        i=1;
    }
    for(;i 

1.大数的除法
先判断大数第一位数能否除以除数,若不能即商为0,则记录该位的余数但不记录(输出)该位的商,
若能除即商不是0,则记录余数并记录(输出)商;
再创建循环将上一位余数作为下一位除法的十位数,此时用容器记录每一位的商(或直接输出商),并记录余数给下一位用。

1018
#include
using namespace std;

struct ren{
    char ss;
    int w=0;
    int p=0;
    int l=0;
    int b=0;
    int c=0;
    int j=0;
    
}jia,yi;
int main(int argc, char const *argv[])
{
    int n;
    cin>>n;
    for(int i=0;i>jia.ss>>yi.ss;
        if(jia.ss=='B'&&yi.ss=='C'||jia.ss=='C'&&yi.ss=='J'||jia.ss=='J'&&yi.ss=='B'){
            jia.w++;
            yi.l++;
            switch (jia.ss)
            {
            case 'B':jia.b++;break;
            case 'C':jia.c++;break;
            case 'J':jia.j++;break;
            }
        }
        else if(yi.ss=='B'&&jia.ss=='C'||yi.ss=='C'&&jia.ss=='J'||yi.ss=='J'&&jia.ss=='B'){
            yi.w++;
            jia.l++;
            switch (yi.ss)
            {
            case 'B':yi.b++;break;
            case 'C':yi.c++;break;
            case 'J':yi.j++;break;
            }
        }
        else{
            jia.p++;
            yi.p++;
        }

    }
    cout< 

1.三个数比大小:max(max( ,),)

1019
#include
using namespace std;
bool cmp(int a,int b){//降序
    return a>b;
}
int toNumber(int a[],int l){
    int num=0;
    for(int i=0;i=0;i--){
        a[i]=num%10;
        num=num/10;
    }
}
int main()
{
	int array_n[4],n=0;
	cin>>n;
    toArray(n,array_n,4);
    sort(array_n,array_n+4,cmp);
    int jx=toNumber(array_n,4);
    sort(array_n,array_n+4);
	int sx=toNumber(array_n,4);
    if(jx-sx==0){
        printf("%04d",jx);
        cout<<" - ";
        printf("%04d",sx);
        cout<<" = "<<"0000"< 

1.数组长度计算 sizeof()

int n[4]={'1','2','5','6'};
cout< 

2.字符串string补上前置字符

string s;
cin>>s;             
s.insert(0,4-s.size(),'0');//这里用于补充前置零至4位数 
//s.insert(size_typepos, size_typen,  charTc); //从pos开始向后添加n个字符c

3.do{}while();和while(){}的区别
while先判断后执行,do while先执行后判断;
当不满足循环条件时,while循环一次都不会执行,do while循环已经执行了一次不满足循环条件的内容;
在一些情况下,do while循环可以减少代码量(例如PATB1019)

1020
#include
using namespace std;
struct yb{
    double kc;
    double sj;
    double dj;
};
bool cmp(yb a,yb b){
    return a.dj>b.dj;
}
int main(){
    int n,d;
    double sum=0;
    cin>>n>>d;
    yb nyb[n];
    for(int i=0;i>nyb[i].kc;
    for(int i=0;i>nyb[i].sj;
    for(int i=0;i0)
        {
            if(d-nyb[i].kc>=0)
            {
                sum=sum+nyb[i].sj;
                d=d-nyb[i].kc;
            }
            else 
            {
                sum=sum+nyb[i].dj*d;
                d=0;
            } 
        }
        else 
            break;
    }
    printf("%.2f",sum);
    return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/302563.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号