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 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步