B1011.A+B和C(值溢出问题)

【Time Limit:50ms Memory Limit:65 536KB】           难度指数:★★☆☆☆

题目描述:给定区间这里写图片描述内的三个整数A、B和C,请判断A+B是否大于C。

输入格式:第一行给出整数T(T<=10),即测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数以空格分隔。

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

输入样例
4
1 2 3
2 3 4
2147483674 0 2147483646

输出样例
Case#1:flase
Case#2:true
Case#3:true
Case#4:flase

//———————————————————————————–
思路:
输入count用以表示下面输入的数据组数,同时令tcase表示当前是第几组数据,初值为1.对于每组数据,都判断A+B是否大于C,然后输出相应的Case#ⅹ:false和Case#ⅹ:true。

注意:
①如果要执行count次。则应用count–,而非–count(执行count-1次);
②题目给出的范围是这里写图片描述,首先要知道int型变量的数据范围是这里写图片描述,所有当A和B都取最大值这里写图片描述时候,他们相加的值就是这里写图片描述,而这明显超过了int型所能表示的范围了,所以应该将其类型写为long long类型,但是注意在vc++编译器下不支持long long类型,在vc下应该使用_int64,输入使用%I64d。
③此题目还有方法二,利用a和c-b来比较大小,这就不会超出int的范围了;
④注意int,long,long long,_int64,unsigned int,unsigned long ,unsigned long long,unsigned _int64的取值范围,此链接“ ”为总结的范围表示。

//———————————————————————————-
(方法一)代码:

#include<stdio.h>

int main(){
    int count,tcase = 1;
    scanf("%d",&count);
    while(count--){
        _int64 A,B,C;
        scanf("%I64d%I64d%I64d",&A,&B,&C);
        if(A+B > C)
            printf("Case #%d:true\n",tcase++);
        else
            printf("Case #%d:false\n",tcase++);
    }
    return 0;

}

(方法二)代码:

#include<stdio.h>
int main(){
int n;
scanf("%d",&n); 
int a,b,c; 
int k=1;
while(n--){
scanf("%d %d %d",&a,&b,&c);
if(a > (c-b))
 printf("Case #%d: true\n",k);
else 
  printf("Case #%d: false\n",k);
k++;
}
return 0;
} 

PS:每天学习和更新CCF/PAT算法题,算法爱好者们欢迎加关注,互相学习,一起进步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于cyclone3 FPGA设计的智能洗衣机控制器课设报告文档+quartus9.1工程源码文件,可以做为你的学习设计参考。 1.课程设计名称及开发环境 题 目:智能洗衣机控制器的设计; 开发环境:本课设是基于DE0的板子,使用Verilog HDL开发的。 2.参考设计内容与要求 ① 设计一个智能洗衣机控制器,能够实现洗衣,漂洗和脱水的功能。 ②要求能够使用按键模拟对洗衣机的控制,能够设置工作模式,为了便于观察,将洗衣机设定的工作模式(1~5)和整个过程所剩的工作时间用数码管显示出来(时间分辨率为1分钟),能够将洗衣机当前所处的状态(注水,洗衣,排水,甩干)用发光管或者数码管显示出来。 【模式1】: 洗衣模式--强力洗( 洗衣30分钟) 【模式2】 :洗衣模式--普通洗 (洗衣20分钟) 【模式3】 :洗衣模式--轻柔洗(洗衣10分钟) 【模式4】 :漂洗模式 【模式5】 :甩干模式 注:在以上5个模式中,每次注水1分钟,漂洗5分钟,排水1分钟,甩干1分钟,模式1~3的洗衣时间如上所示,具体的洗衣步骤如下: 【模式1~3】:注水->洗衣->排水->甩干->注水->漂洗->排水->甩干 ->注水->漂洗->排水->甩干。 【模式4】:注水->漂洗->排水->甩干->注水->漂洗->排水->甩干。 【模式5】:甩干。 【要求】:实现逻辑控制过程,可以选择性的加入注水口无水报警等人性化的状态提示,操作完毕使用蜂鸣器鸣叫两秒提示。 ③ 画出洗衣机控制器的状态机,写出状态编码方案。 ④ 用Verilog语言对设计进行描述,设计一个测试方案,并能够下载到实验板上调试成功。 // 顶层模块 module init(cp_50,cp_502,BUTTON,key_0,key_1,key_2,key_3,key_4,key_5,key_6,LEDG,led0,led1,led2,led3,VGA_HS,VGA_VS,VGA_R,VGA_G,VGA_B); input cp_50,cp_502; input [2:0] BUTTON; input key_0,key_1,key_2,key_3,key_4,key_5,key_6; output [9:0] LEDG; output [7:0] led0, led1,led2,led3; output VGA_HS; // VGA H_SYNC output VGA_VS; // VGA V_SYNC output [3:0] VGA_R; // VGA Red[3:0] output [3:0] VGA_G; // VGA Green[3:0] output [3:0] VGA_B; // VGA Blue[3:0] reg [7:0]TIME; reg [9:0]LEDG; wire [3:0]flag; wire out0; always @(posedge cp_50) begin case (flag) 4'b0001: LEDG[9:0]<=10'b0000000001; 4'b0010: LEDG[9:0]<=10'b0000000011; 4'b0011: LEDG[9:0]<=10'b0000000111; 4'b0100: LEDG[9:0]<=10'b0000001111; 4'b0101: LEDG[9:0]<=10'b0000011111; 4'b0110: LEDG[9:0]<=10'b0000111111; 4'b0111: LEDG[9:0]<=10'b0001111111; 4'b1000: LEDG[9:0]<=10'b0011111111; 4'b1001: LEDG[9:0]<=10'b0111111111; 4'b1010: LEDG[9:0]<=10'b1111111111; 4'b1011: LEDG[9:0]<=10'b0111111111; 4'b1100: LEDG[9:0]<=10'b0011111111; 4'b1101: LEDG[9:0]<=10'b0001111111; 4'b1110: LEDG[9:0]<=10'b0000111111; 4'b1111: LEDG[9:0]<=10'b0000011111; default: LEDG[9:0]<=10'b0000001111;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值