whycxsa 2022-04-10 13:44 采纳率: 82.8%
浏览 22
已结题

计算多组两个整数的和

1.如果输入了一个与定义变量类型不同的值,会直接报错或者是不执行是吗?我是想判断a,b是否为整数有必要吗?我这个写得它也判断不出来
2.(还有一个别的疑问)如何将一个负数转成正数?不是打印出来,而是将一个变量的绝对值赋给另一个变量

#include <stdio.h>
#include<math.h>
int main()
{
int a,b,sum;
char choice;
do
{
printf("请输入两个整数a,b:");
scanf("%d%d",&a,&b);
if(fabs(a-(int)a)<1e-8&&fabs(b-(int)b)<1e-8)
{
sum=a+b;
printf("%d+%d=%d\n",a,b,sum);
}
else
{
printf("您输入的不是整数");
}
printf("请选择:0--退出 1--继续 ");
scanf(" %c",&choice);
}while(choice=='1');
return 0;
getchar();
}

  • 写回答

1条回答 默认 最新

  • A-Chin 2022-04-10 13:58
    关注

    通过向上和向下取整就能判断

    
    #include<stdio.h>
    #include<math.h>
    
    int main()
    {
        int a = 10;
        int b = floor(a);
        int c = ceil(a);
        printf("%d\t%d\n", b, c);
        return 0;
    }
    

    用abs取绝对值:

    int b = abs(a);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月11日
  • 已采纳回答 5月3日
  • 创建了问题 4月10日