PbApollo
2019-04-14 15:26
采纳率: 75%
浏览 915

为什么第一个scanf里%f间加逗号输入时就会跳过第二个scanf,而去掉逗号就不会了??

#include
#include
void main()
{
float a,b,c,d,f,f1,x0,x,t,z;
printf("请输入a,b,c的值:");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if(d printf("方程无解\n");
else
{
getchar();
printf("请输入x0的值:");
scanf("\n%f",&x0);
printf("\n");
f=a*x0*x0+b*x0+c;
f1=2*a*x0+b;
do
{
x=x0-f/f1;
x0=x;
t=x-x/1;
}
while(t>0.000001);
printf("方程的解为:%f",x);
}
system("pause");
}

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2019-04-14 16:09
    已采纳

    看你怎么输入的,数字之间是不是输入了全角的中文的逗号。

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • SFAfreshman 2019-04-16 00:40

    老师就让我们一般来说scanf最好不要选用,隔开的方式;一是容易忘掉;而且操作来说输入时用空格和enter更符合人们习惯。程序更友好;
    二就是可能输入了中文的逗号但没发现(笑哭)

    评论
    解决 无用
    打赏 举报
  • weixin_44809561 2019-04-18 09:38

    scanf里面有三个%f,分隔符应是回车键,不是空格

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题