1011 A+B 和 C (15 分)(c语言)
給定區(qū)間 [?231,231] 內(nèi)的 3 個(gè)整數(shù)?A、B?和?C,請(qǐng)判斷?A+B?是否大于?C。
輸入格式:
輸入第 1 行給出正整數(shù)?T?(≤10),是測(cè)試用例的個(gè)數(shù)。隨后給出?T?組測(cè)試用例,每組占一行,順序給出?A、B?和?C。整數(shù)間以空格分隔。
輸出格式:
對(duì)每組測(cè)試用例,在一行中輸出?Case #X: true?如果?A+B>C,否則輸出?Case #X: false,其中?X?是測(cè)試用例的編號(hào)(從 1 開始)。
輸入樣例:
4 1 2 3 2 3 4 2147483647 0 2147483646 0 -2147483648 -2147483647結(jié)尾無(wú)空行
輸出樣例:
Case #1: false Case #2: true Case #3: true Case #4: false結(jié)尾無(wú)空行
#include<stdio.h> #pragma warning(disable:4996) int main() {/*1.創(chuàng)建一個(gè)數(shù)組存儲(chǔ)正確與錯(cuò)誤,1表示正確,0表示錯(cuò)誤2.創(chuàng)建T,輸入T,創(chuàng)建scanf循環(huán),將相應(yīng)值存入數(shù)組3.通過(guò)數(shù)組輸出值*/int book[100] = { 0 };long int cnt=1,T, A, B, C;scanf("%ld", &T);while (scanf("%ld %ld %ld", &A, &B, &C) == 3) {if (A + B > C) {book[cnt] = 1;}cnt++;}for (cnt = 1; cnt <= T; cnt++) {if (book[cnt] == 0) {printf("Case #%d: false\n",cnt);}else {printf("Case #%d: true\n", cnt);}}return 0; }我在這題踩過(guò)的坑:
1.數(shù)據(jù)類型,這道題不能用int這種數(shù)據(jù)類型,我計(jì)算算了一下,因?yàn)閕nt有4個(gè)字節(jié),一個(gè)字節(jié)對(duì)應(yīng)8位,那么換算一下,int類型如果單純表示無(wú)符號(hào)數(shù)可以表示為2的32次方,而問(wèn)題就在這,題目給的范圍是-2的32次方到2的32次方,這個(gè)范圍如果換算成無(wú)符號(hào)整數(shù),確實(shí)應(yīng)該是2的三十二次方,但是,實(shí)際上,這個(gè)值會(huì)比多1,即題目的范圍換算過(guò)來(lái)應(yīng)該是2的32次方+1
2.這道題還有一個(gè)問(wèn)題,其實(shí)我一直以為最后是不能有換行符這種東西的,但實(shí)際上..........它居然可以無(wú)視.....我真是無(wú)語(yǔ)
總結(jié)
以上是生活随笔為你收集整理的1011 A+B 和 C (15 分)(c语言)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1010 一元多项式求导 (25 分)(
- 下一篇: 1012 数字分类 (20 分)(c语言