float chu(float a1,float b1)/*运行了一次之后提示floating point error!do main*/
{float c=0.00,z=0.00;
printf("%f/%f=",a1,b1);
scanf("%f",&z);
c=a1/b1;
if(c==z)
{printf("%f/%f=%f\t正确!",a1,b1,z);
}
printf("错误!\n");
}
int yusuang(int a,int b,int n)
{int c,z,a1,b1;
switch(n)
{case 1:{printf("%d+%d=",a,b);
scanf("%d",&z);
c=a+b;
if(c==z)
{printf("%d+%d=%d\t正确!\n",a,b,z);
break;
}printf("错误!\n");break;
}
case 2:{printf("%d-%d=",a,b);
scanf("%d",&z);
c=a-b;
if(c==z)
{printf("%d-%d=%d\t正确!\n",a,b,z);
break;
}printf("错误!\n");break;
}
case 3:{printf("%d*%d=",a,b);
scanf("%d",&z);
c=a*b;
if(c==z)
{printf("%d*%d=%d\t正确!\n",a,b,z);
break;
}printf("错误!\n");break;
}
case 4: {a1=(float)a;
b1=(float)b;
chu(a1,b1);
break;
}
} }
#include <time.h>
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <stdlib.h>
main()
{int x,y,i,n,t;
while (1)
{printf("欢迎你使用四则运算单独训练单元:\n");
printf("1、加法\n2、减法\n3、乘法\n4、除法\n5、退出\n");
scanf("%d",&n);
if(n==5) break;
printf("连续五题:\n");
for(i=0;i<5;i++)
{randomize();
x=random(100);
y=random(100);
yusuang(x,y,n);
}getch();
}
}
什么原因呢?我觉得不可能啊