【C语言版】1011 A+B 和 C (15分)
给定区间 [−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分)相关推荐
- 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 ...
- PAT(乙级)1011 A+B 和 C (15 分)
1011 A+B 和 C (15 分) 这个题也比较水,发上来凑个数吧,这两天太忙也没有更新. #include<stdio.h> int main() {int i,n;double a ...
- 1011 A+B 和 C (15 分)
1011 A+B 和 C (15 分) 给定区间 [−231,231] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: 输入第 1 行给出正整数 T (≤10 ...
- 1011 A+B 和 C (15 分)
1011 A+B 和 C (15 分) 给定区间 [−231 ,231 ] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: 输入第 1 行给出正整数 T (≤ ...
- 1011 A+B 和 C (15 分)(c语言)
给定区间 [−231,231] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: 输入第 1 行给出正整数 T (≤10),是测试用例的个数.随后给出 T 组测试用例,每组 ...
- 1011 A+B 和 C (15分) C语言实现
给定区间 [ − 2 31 , 2 31 ] [−2^{31},2^{31}] [−231,231]内的 3 个整数 A.B 和 C,请判断 A+B 是 ...
- C语言程序练习-L1-030 一帮一 (15分)
L1-030 一帮一 (15分) "一帮一学习小组"是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组.本题就请你编写程序帮助老师自动完成这个分配工 ...
- C语言程序练习-L1-019 谁先倒 (15分)
L1-019 谁先倒 (15分) 划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了 ...
- 9行代码AC——1011 A+B 和 C (15分)
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 给定区间 [−231,231] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: ...
最新文章
- php7.0源码包下载,PHPDisk 7.0 V-Core系列发布,源码下载[更新20140821]
- MYSQL关于日期统计常用的SQL语句
- js计算浮点数出现小数;解决js计算小数问题;js数组相加出现小数;
- 有传闻说,写好总结可以升职加薪?
- 紫书 习题8-14 UVa 1616(二分+小数化分数+精度)
- Displaying a Refresh Control for Table Views
- golang中base64编码_golang中自带base64编码和解码
- mysql练习(重)
- 许鹏:从零开始学习,Apache Spark源码走读(一)
- 深度学习系列(二)显卡驱动升级篇(笔记)
- python实现学员管理系统(增删改查)
- 汉芯门主角制造另外一个汉芯?
- 微信公众号开发C#系列-12、微信前端开发利器:WeUI
- ffmpeg命令行录制一个具有非IDR性质的I帧的视频
- 分享 | CADD之分子动力学的简介(上篇)
- 解决No “rule to make target `../skin_test.qss', needed by `debug/qrc_resource.cpp'. Stop.”
- 小米手机(MIUI)介绍以及工程机评测 【持续更新】
- 狗汪汪玩转无线电 -- GPS Hacking
- 机器学习 第三节 第八课
- 《黄帝内经.通天》阴阳五种类型的人
热门文章
- java mkdirs 示例_java中关于File类的mkdirs()和FIle()构造方法在windows环境内网测试总结...
- Linux ps命令常见实战用法
- 计算机指令集_计算机科学组织| 指令集及其类型
- 几个小型数据库的比较
- 视频剪辑语音转文字添加字幕
- 宝塔中查看mysql默认密码
- java spring getbean_spring getbean 方法分析(很实用!)
- Python分析csv文件及可视化绘图
- 联盟手游服务器维护中怎么办,移动联盟手游进不去很卡怎么办?移动联盟进不去很卡问题详解[图]...
- python 中iloc_iloc索引之间的Python差异