1.vs2013不能用scanf,改为scanf_s,但是提交时不能用scanf_s,用scanf。。。

 scanf_s("%lld/%lld %lld/%lld", &a[], &a[], &b[], &b[]);

2.c++中数组作为函数参数时传递的是地址,会改变实参的值。

3.用printf输出string型变量时要加上“.c_str()”:

 printf("%s + %s = %s\n", simple(a).c_str(), simple(b).c_str(), simple(r).c_str());

4.类型别名:

 using LL = long long;

相乘时可能会超出整型范围,用long long。

代码:

 #include <iostream>
#include <string>
using namespace std;
using LL = long long;//类型别名 LL gcd(LL a, LL b)
{
if (b == )
return a;
return gcd(b, a % b);
} string simple(LL a[])
{
LL m = a[], n = a[];
if (n < )
{
m = -m;
n = -n;
}
string s;
char c;
if (m < )
{
m = -m;
c = '-';
}
else c = '+'; LL g = gcd(m, n);//分子分母最大公约数
m = m / g;
n = n / g; LL r = m % n;
LL k = m / n;
if (k) s = to_string(k);
if (r && k) s += " ";
if (r) s = s + to_string(r) + "/" + to_string(n);
if (!k && !r) s = ""; if (c == '-') s = "(-" + s + ")";
return s;
}
void add(LL a[], LL b[])
{
LL r[];
r[] = a[] * b[] + b[] * a[];
r[] = a[] * b[];
printf("%s + %s = %s\n", simple(a).c_str(), simple(b).c_str(), simple(r).c_str());
}
void sub(LL a[], LL b[])
{
LL r[];
r[] = a[] * b[] - b[] * a[];
r[] = a[] * b[];
printf("%s - %s = %s\n", simple(a).c_str(), simple(b).c_str(), simple(r).c_str());
}
void motify(LL a[], LL b[])
{
LL r[];
r[] = a[] * b[];
r[] = a[] * b[];
printf("%s * %s = %s\n", simple(a).c_str(), simple(b).c_str(), simple(r).c_str());
}
void divide(LL a[], LL b[])
{
LL r[];
r[] = a[] * b[];
r[] = a[] * b[];
if (r[])
printf("%s / %s = %s\n", simple(a).c_str(), simple(b).c_str(), simple(r).c_str());
else
printf("%s / %s = Inf\n", simple(a).c_str(), simple(b).c_str());
}
int main()
{
LL a[], b[];
scanf_s("%lld/%lld %lld/%lld", &a[], &a[], &b[], &b[]); add(a, b);
sub(a, b);
motify(a, b);
divide(a, b); return ;
}

pat乙级1034的更多相关文章

  1. PAT乙级1034. 有理数四则运算(20)

    本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分 ...

  2. PAT乙级 1034

    思路:是个水题,但是有坑.不能被题目忽悠了,题目保证正确的输出中没有超过整型范围的整数. 它只是保证结果不超出int,但是我们在运算过程中的乘法可能会超出int,直接把所有int改成long long ...

  3. C#版 - PAT乙级(Basic Level)真题 之 1021.个位数统计 - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - P ...

  4. PAT乙级真题及训练题 1025. 反转链表 (25)

    PAT乙级真题及训练题 1025. 反转链表 (25) 感觉几个世纪没打代码了,真是坏习惯,调了两小时把反转链表调出来了,心情舒畅. 这道题的步骤 数据输入,数组纪录下一结点及储存值 创建链表并储存上 ...

  5. PAT甲级1034. Head of a Gang

    PAT甲级1034. Head of a Gang 题意: 警方找到一个帮派的头的一种方式是检查人民的电话.如果A和B之间有电话,我们说A和B是相关的.关系的权重被定义为两人之间所有电话的总时间长度. ...

  6. PAT 乙级 1024

    题目 题目地址:PAT 乙级 1024 题解 模拟题,重点需要考虑到各种不同情况:简单来说一下: 因为输入格式固定,所以把不同的部分分别存储和处理可以在很大程度上简化运算:其中需要考虑最多的就是小数部 ...

  7. PAT 乙级 1017

    题目 题目地址:PAT 乙级 1017 题解 粗看是一道大数除法题,实际上只不过是通过字符数组模拟除法过程,理解之后还是比较简单的: 具体分析一下本题: 因为题设中的除数(n)是一位整数,因此大幅简化 ...

  8. PAT 乙级 1015

    题目 题目地址:PAT 乙级 1015 题解 常规题,难点在于理清楚排序规则,通过比较简洁的方式进行编码: 在这里我选择使用vector进行存储,并使用sort方法排序,因为本题不是简单按照大小排序, ...

  9. PAT 乙级 1003

    题目 题目地址:PAT 乙级 1003 题解 规律观察题,本题的关键在于把题读懂,同时还有几个比较容易疏忽的地方需要注意:总之这道题要考虑的东西更多,细节上也要特别注意: 规律:“如果 aPbTc 是 ...

随机推荐

  1. @Html.AntiForgeryToken() 源码分析,表单防伪码的生成

    源码来自MVC4@Html.AntiForgeryToken() 源码分析 public MvcHtmlString AntiForgeryToken() { return new MvcHtmlSt ...

  2. nginx配置同一域名下,共存2个nodejs项目

    项目背景: 1.官网需要改版,使用nodejs nuxt框架进行重构 2.官网改版没有全部完成.但需要上线首页 项目需求: 1.让首页内容显示为新项目 2.让老官网的内容可以被访问到(比如www.n. ...

  3. oracle 导入sql文件乱码

    查看  http://blog.csdn.net/fireofjava/article/details/53980966

  4. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU特性介绍(2)- RT685EVKA性能实测(Dhrystone)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的性能. 在前面的文章 i.MXRTxxx微控制器概览 里,痞子衡给大家简介过恩智浦半导体在2018 ...

  5. PIP本地源搭建

    Wheel包制作 # pip install wheel # mkdir ~/wheels # cd < Project > # pip wheel --wheel-dir=~/wheel ...

  6. 使用配置类而不使用XML文件(代替bean.xml)对spring进行配置

    以下类是一个配置类,它的作用和bean.xml是一样的注解: @Configuration 作用: 用于指定当前类是一个spring配置类,当创建容器时会从该类上加载注解. 获取容器时需要使用Anno ...

  7. Selenium2.0+TestNG+Ant+Jenkins自动化测试浅尝

    当前常用自动化测试工具 Web自动化测试工具:QTP .selenium等 性能自动化测试工具:loadrunner.jmeter等 接口自动化测试工具:SoapUI.postman等 手机自动化测试 ...

  8. NodeJS什么都能做,为什么还要JAVA?

    这张图看起来简单而且很好理解,但没尝试过,会有很多疑问. SPA模式中,后端已供了所需的数据接口,view前端已经可以控制,为什么要多加NodeJS这一层? 多加一层,性能怎么样? 多加一层,前端的工 ...

  9. Spring【基础】-注解-转载

    站在巨人的肩膀上,感谢! https://blog.csdn.net/chjttony/ 1.在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架, 曾经有两本很 ...

  10. PAT甲级——1095 Cars on Campus (排序、映射、字符串操作、题意理解)

    本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/93135047 1095 Cars on Campus (30 分 ...