69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void main()
{ float m,n;
while(1)
{ printf("请输入两个整数,并用空格分隔开:\n");
scanf("%f %f",&m,&n);
//如何判断输入的数是整数?
if (m==(int)m*10/10&&n==(int)n*10/10)
{ printf("m/n=%.5f\n",(float)m/n);
break;
}
else
printf("错误!输入值中含有非整数!请重新输入!\n");
}
system("pause");
}
/*
m 和 n是 float 形
scanf("%d %d",&m,&n); 中的 %d 改成 %f
printf("m/n=%.5d\n",(float)m/n); 看你意思应该要输出float形的吧 把d 也改成 f
// m*10/10 可以把m小数部分变成0 例如 m = 6.9 m*10(69)/10 = 6 (整数除整数结果一定是整数)
// 其实可以写成 if (m == (int)m && n == (int)n)
*/
int m,n;
char c;
while (1) {
printf("请输入两个整数,并用空格分隔开:");fflush(stdout);
rewind(stdin);
if (3==scanf("%d%d%c",&m,&n,&c)) {
if (c=='\n') {
printf("m/n=%d/%d=%g\n",m,n,(float)m/n);
break;
}
}
printf("错误!输入值中含有非整数!请重新输入!\n");
}