C語言兩個特別大的整數類型相加超出范圍使用兩個技巧


技巧1:用long (%ld)或者long long(%lld)類型存取

技巧2:當兩個同號的數字相加,放到等號的另一邊,變成減號

問題:

給定區間[-2的31次方, 2的31次方]內的3個整數A、B和C,請判斷A+B是否大於C

 

我的代碼:

 1 #include<stdio.h>
 2 
 3 int main(){
 4     long  array[10][3];
 5     int num,i,j;
 6     scanf("%d",&num);
 7     for(i=0;i<num;i++){
 8         for(j=0;j<3;j++){
 9            scanf("%ld",&array[i][j]);
10         }
11     }
12 
13     for(i=0;i<num;i++){
14         if((array[i][0]>=0&&array[i][1]>=0)||(array[i][0]<0&&array[i][1]<0)){
15             printf("Case #%d: %s\n",i+1,array[i][0]>array[i][2]-array[i][1]?"true":"false");
16         }else{
17             printf("Case #%d: %s\n",i+1,array[i][0]+array[i][1]>array[i][2]?"true":"false");
18         }
19     }
20 
21 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM