用C语言设计一个除法运算题

用C语言设计一个除法运算题.就是我出题目,用户输出结果,然后我来判断用户输出结果对错。对的话,就显示true 错的话就显示false。
但是现在困难是,我希望用户保留两位小数,我如何做到能判断用户结果对错? 好像计算机做不到保留一个2位小数的数据而不输出。用fabs函数fabs(a-b)<=0.01,也老师提示错误。。
求大神提供一个可行的方法。
只要能判断一个运算结果对错就可以。至于出题目 要用到随机数就先不用考虑了。。比如说题目是5/3 用户输入一个结果,我怎么判断该结果正误。

两种方法:
1. 自己编一个保留2位小数的4舍5入函数。
2. 把你的答案和用户的答案都转成字符串,比较两个字符串就是了。

第2个方法非常简单,直接把程序写给你得了:
#include <stdio.h>
#include <string.h>
int main()
{
double a = 1.235;
char s[100], t[100];
sprintf(s, "%.2f", a); // 将实数a转换成字符串存入s(保留2位小数,自动4舍5入), "1.24"
scanf("%s", t); // 用户输入字符串,如:1.24
if (!strcmp(s, t))
{
printf("正确\n");
}
else
{
printf("错误\n");
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-04

采用输出函数 printf :

#include <stdio.h>
int main()
{
    double a = 1.12345;
    printf ("%.2lf",a);
}

这样的输出结果就是 1.12  ,你可以根据这段程序,修改你的程序

第2个回答  2013-10-04
读入用户数据,可以用 scanf("%.2f",&data); 就会读入一个保留两位小数的浮点数
关键是 5/3的结果怎么保留两位小数,然后进行==运算就好了
第3个回答  2013-10-04
#include<stdio.h>
#include<math.h>
void main()
{
float num=0.0,num1=5.0,num2=3.0;
printf("The question is: %.1f/%.1f=?\n",num1,num2);

printf("please input answer: ");
scanf("%f",&num);
if(fabs(num*num2-num1)<0.1)//这里用乘代替除
printf("true\n");
else
printf("false\n");

}本回答被提问者采纳
相似回答