IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> PAT乙级练习题1016 部分A+B -> 正文阅读

[C++知识库]PAT乙级练习题1016 部分A+B

题目:

在这里插入图片描述

输入格式:

在这里插入图片描述

输出格式:

在这里插入图片描述

输入样例 1:

3862767 6 13530293 3

输出样例 1:

399

输入样例 2:

3862767 1 13530293 8

输出样例 2:

0

思路:

将输入的数字用字符串接收,再把字符串和字符比较,有符合的字符则进行拼接,再转换为数字。

代码:

#include <iostream>
#include <cstring>
#include <string>
#include <stdlib.h>
using namespace std;

int main(){
    string A, B;
    char DA, DB;
    string PA = "";
    string PB = "";
    
    cin >> A >> DA >> B >> DB;
    
    for(int i = 0; i < strlen(A.c_str()); ++i){
        if(A[i] == DA){
            PA += DA;
        }
    }
    for(int i = 0; i < B.length(); ++i){
        if(B[i] == DB){
            PB += DB;
        }
    }
    
    int s = 0;
    if(strlen(PA.c_str()) != 0){
        s += atoi(PA.c_str());
    }
    if(strlen(PB.c_str()) != 0){
        s += stoi(PB);
    }
    cout << s;
    
    return 0;
}

其他思路:

看了其他解析,可以直接接收数字,再将数字的各个数位的数值进行比较,最后转化为指定的数字

//部分A+B 乙真
#include<stdio.h>
 
int main(int argc, char const *argv[])
{
		//现在题目范围是10^9,可用int存储,超过需要用long long存储
		long long a,b,sum1=0,sum2=0;
		int num1,num2;
		scanf("%lld%d%lld%d",&a,&num1,&b,&num2);
 
	while(a){
		//从最低位开始,逐位比较数字,再将符合的数字从最低位加到最高位,如果没有符合的数字,则默认为0
		if (a%10 == num1)  sum1=sum1*10+num1;
		a=a/10;
	}
 
	while(b){
		if (b%10 == num2)  sum2=sum2*10+num2;
		b=b/10;
	}
 
printf("%lld\n",(sum1+sum2));
	return 0;
}

学到和回忆了:

  • C++获取字符串长度

    #include <cstring>
    //C风格字符串:
    strlen(str);
    
    //C++string类型:
    str.length();
    
  • C++字符串转为数字

    #include <cstring>
    string str;
    char str1 = str.c_str();
    //C风格字符串:
    atoi(str1);
    //C++string类型:
    stoi(str);
    
  • C++string类型转换为C风格字符串

    string str;
    char str1 = str.c_str();
    
  • 逐位获取数字的方法

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-29 08:54:26  更:2021-08-29 08:56:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 20:40:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计