给定区间 [−2​^31​​,2^​31​​] 内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。

输入格式:

输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。

输出格式:

对每组测试用例,在一行中输出 Case #X: true 如果 A+B>C,否则输出 Case #X: false,其中 X 是测试用例的编号(从 1 开始)。

输入样例:

4
1 2 3
2 3 4
2147483647 0 2147483646
0 -2147483648 -2147483647

输出样例:

Case #1: false
Case #2: true
Case #3: true
Case #4: false

【思路】

①我是按照题目给的输入格式做的,我看其他的博客主大部分是这样的:每输入一行就进行判断然后输出,奇怪的是通过了测试。

②由于 3 个整数已经给定区间 [−2​^31​​,2^​31​​] ,这点得小心,一般的int(2^31-1)是不能满足的,long(2^31-1)也是不行的。只能选择long long (2^63-1)  足够了。但是测试时,发现用int 有一个测试点过不去,用long的话没有问题。感觉此题不严谨。

③我是先把输入进来的所有数据先保存到一个一维数组里面,然后再根据输出格式进行打印、数据处理。

另附上测试代码:

#include <stdio.h>
int main(){printf("short 占%d个字节\n",sizeof(short));printf("int 占%d个字节\n",sizeof(int));printf("long 占%d个字节\n",sizeof(long));printf("long long 占%d个字节\n\n\n",sizeof(long long));printf("unsigned short 占%d个字节\n",sizeof(unsigned short));    printf("unsigned int 占%d个字节\n",sizeof(unsigned int));printf("unsigned long 占%d个字节\n",sizeof(unsigned long));printf("unsigned long long占%d个字节\n",sizeof(unsigned long long));return 0;
}

【参考代码】

#include <stdio.h>
int main(){int n;/需要测试的行数 long array[30];//每行数据都保存在这数组里,30=每行有3个整数*10行 int i=0,j=0;//j是用来打印行号的  char ch;//保存空格和换行用的scanf("%d",&n);for(i=0;i<3*n;){  do{scanf("%lld",&array[i++]);ch=getchar();}while(ch!='\n'); }//数据输入完毕 for(i=0;i<=(3*n-3);i+=3)//数据处理 {printf("Case #%d: ",(++j));//j是用来打印行号的 if((array[i]+array[i+1])>(array[i+2]))printf("true\n"); else printf("false\n");           } return 0;
}

【C语言版】1011 A+B 和 C (15分)相关推荐

  1. C++学习之路 | PTA乙级—— 1011 A+B 和 C (15分)(精简)

    1011 A+B 和 C (15分) 给定区间 [−2 ​31 ​​ ,2 ​31 ​​ ] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: 输入第 1 行给出正整数 T ...

  2. PAT(乙级)1011 A+B 和 C (15 分)

    1011 A+B 和 C (15 分) 这个题也比较水,发上来凑个数吧,这两天太忙也没有更新. #include<stdio.h> int main() {int i,n;double a ...

  3. 1011 A+B 和 C (15 分)

    1011 A+B 和 C (15 分) 给定区间 [−2​31​​,2​31​​] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: 输入第 1 行给出正整数 T (≤10 ...

  4. 1011 A+B 和 C (15 分)

    1011 A+B 和 C (15 分) 给定区间 [−2​31​​ ,2​31​​ ] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: 输入第 1 行给出正整数 T (≤ ...

  5. 1011 A+B 和 C (15 分)(c语言)

    给定区间 [−231,231] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: 输入第 1 行给出正整数 T (≤10),是测试用例的个数.随后给出 T 组测试用例,每组 ...

  6. 1011 A+B 和 C (15分) C语言实现

    给定区间 [ − 2 ​ 31 ​ ​ , 2 ​ 31 ​ ​ ] [−2​^{31}​​,2​^{31}​​] [−2​31​​,2​31​​]内的 3 个整数 A.B 和 C,请判断 A+B 是 ...

  7. C语言程序练习-L1-030 一帮一 (15分)

    L1-030 一帮一 (15分) "一帮一学习小组"是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组.本题就请你编写程序帮助老师自动完成这个分配工 ...

  8. C语言程序练习-L1-019 谁先倒 (15分)

    L1-019 谁先倒 (15分) 划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了 ...

  9. 9行代码AC——1011 A+B 和 C (15分)

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 给定区间 [−2​31,231] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: ...

最新文章

  1. php7.0源码包下载,PHPDisk 7.0 V-Core系列发布,源码下载[更新20140821]
  2. MYSQL关于日期统计常用的SQL语句
  3. js计算浮点数出现小数;解决js计算小数问题;js数组相加出现小数;
  4. 有传闻说,写好总结可以升职加薪?
  5. 紫书 习题8-14 UVa 1616(二分+小数化分数+精度)
  6. Displaying a Refresh Control for Table Views
  7. golang中base64编码_golang中自带base64编码和解码
  8. mysql练习(重)
  9. 许鹏:从零开始学习,Apache Spark源码走读(一)
  10. 深度学习系列(二)显卡驱动升级篇(笔记)
  11. python实现学员管理系统(增删改查)
  12. 汉芯门主角制造另外一个汉芯?
  13. 微信公众号开发C#系列-12、微信前端开发利器:WeUI
  14. ffmpeg命令行录制一个具有非IDR性质的I帧的视频
  15. 分享 | CADD之分子动力学的简介(上篇)
  16. 解决No “rule to make target `../skin_test.qss', needed by `debug/qrc_resource.cpp'. Stop.”
  17. 小米手机(MIUI)介绍以及工程机评测 【持续更新】
  18. 狗汪汪玩转无线电 -- GPS Hacking
  19. 机器学习 第三节 第八课
  20. 《黄帝内经.通天》阴阳五种类型的人

热门文章

  1. java mkdirs 示例_java中关于File类的mkdirs()和FIle()构造方法在windows环境内网测试总结...
  2. Linux ps命令常见实战用法
  3. 计算机指令集_计算机科学组织| 指令集及其类型
  4. 几个小型数据库的比较
  5. 视频剪辑语音转文字添加字幕
  6. 宝塔中查看mysql默认密码
  7. java spring getbean_spring getbean 方法分析(很实用!)
  8. Python分析csv文件及可视化绘图
  9. 联盟手游服务器维护中怎么办,移动联盟手游进不去很卡怎么办?移动联盟进不去很卡问题详解[图]...
  10. python 中iloc_iloc索引之间的Python差异