程序填空题:这是一道判断整数乘数是否溢出的题。本题目要求将程序填空。
这是一道判断整数乘数是否溢出的题。本题目要求将程序填空。
c++
#include<stdio.h>
int checkmul_ok(int x, int y)
{
int acc = x * y ;
printf("");
if(x && acc>0 && (acc/x) )
{
return 1 ;
}
if(x && acc<0 && !(acc/x) )
{
return 0 ;
}
return -1 ;
}
int main()
{
int a = 0;
int b = 0;
while(~scanf("%d %d",&a,&b))
{
if((a || b) && a*b==0)
{
printf("a*b发生负溢\n");
return 0;
}
if( checkmul_ok(a,b) == )
{
printf("a*b没有发生溢出\n");
}
else
{
if( checkmul_ok(a,b) == )
printf("a*b发生负溢\n");
else if( checkmul_ok(a,b) == )
printf("a*b发生正溢\n");
}
}
return 0;
}
**输入样例**
1 2
输出样例
a*b没有发生溢出
答案:
第1空:!=y
第2空:==y
第3空: -1
第4空:1
第5空: 0
c++
#include<stdio.h>
int checkmul_ok(int x, int y)
{
int acc = x * y ;
printf("");
if(x && acc>0 && (acc/x) )
{
return 1 ;
}
if(x && acc<0 && !(acc/x) )
{
return 0 ;
}
return -1 ;
}
int main()
{
int a = 0;
int b = 0;
while(~scanf("%d %d",&a,&b))
{
if((a || b) && a*b==0)
{
printf("a*b发生负溢\n");
return 0;
}
if( checkmul_ok(a,b) == )
{
printf("a*b没有发生溢出\n");
}
else
{
if( checkmul_ok(a,b) == )
printf("a*b发生负溢\n");
else if( checkmul_ok(a,b) == )
printf("a*b发生正溢\n");
}
}
return 0;
}
**输入样例**
1 2
输出样例
a*b没有发生溢出
答案:
第1空:!=y
第2空:==y
第3空: -1
第4空:1
第5空: 0