粟子 - 2006-7-23 0:48:00
#include <stdio.h>
#include <stdlib.h>
main()
{
float data1,data2,total;
char op;
printf("please input the data1 ,op and data2:");
scanf("%f,%c,%f",&data1,&op,&data2);
switch(op)
{
case '+':total=data1+data2;break;
case '-':total=data1-data2;break;
case '*':total=data1*data2;break;
case '/': if(data2==0)
{
printf("error");
}
total=data1/data2;break;
}
printf("%6.2f",total);
getch();
}
为什么输入数据后的结果全是0.不能达到预期的结果!!!!!
wangyg - 2006-7-23 1:38:00
scanf("%f,%c,%f",&data1,&op,&data2);
把"%f,%c,%f"之间的,去掉试试
闪电风暴 - 2006-7-23 10:03:00
三个参数之前不用逗号吧
天下奇才 - 2006-7-23 10:05:00
问题在这里
scanf("%f,%c,%f",&data1,&op,&data2);
要求的输入格式是:data1,op,data2
每输入一个数据后,就要输入逗号,表示输入结束
而
scanf("%f%c%f",&data1,&op,&data2);
每输入一个数据后,就要输入空格,表示输入结束。
粟子 - 2006-7-23 12:34:00
天下奇才。scanf("%f,%c,%f",&data1,&op,&data2);
要求的输入格式是:data1,op,data2。我是按照这种格式输的啊。输一个就逗号,但是结果还是一样。只得0
改成为这样后;scanf("%f%c%f",&data1,&op,&data2);
我输一个加空格,但是结果还是老样,没有变。!
赐教??/
© 2000 - 2026 Rising Corp. Ltd.