永发信息网

VS2013为什么if语句都只输出同样的结果

答案:2  悬赏:10  手机版
解决时间 2021-12-28 16:05
  • 提问者网友:杀手的诗
  • 2021-12-28 06:19
#include<stdio.h>
#include<math.h>
int main()
{
double a, b, c, disc, x1, x2, p, q;
scanf("%If%If%If", &a, &b, &c);
disc = b*b - 4 * a*c;
if (disc < 0)
printf("This equation has not real roots\n");
else
{
p = -b / (2.0*a);
q = sqrt(disc) / (2.0*a);
x1 = p + q; x2 = p - q;
printf("real roots:\nx1=%7.2f\nx2=%7.2f\n", x1, x2);
}
return 0;
}
不论我输入的数值有没有实根输出都是
"This equation has not real roots\n"
以下的程序也是同样问题
#include <stdio.h>
int main()
{
int max(int x, int y);
int a, b, c;
scanf("%d,%d", &a, &b);
c = max(a, b);
printf("max=%d\n", c);
return 0;
}
int max(int x, int y)
{
int z;
if (x>y)z = x;
else z = y;
return(z);
}
不论如何输入都是输出前面的数,比如输入5 7 输出msx=5,输入7 5,输出max=7

我怀疑是不是我的VS2013出了问题???求大神!!
最佳答案
  • 五星知识达人网友:走死在岁月里
  • 2021-12-28 07:20
判断之前,打印一下score 的值出来瞧瞧 ,不就知道问题出在哪里了?
全部回答
  • 1楼网友:詩光轨車
  • 2021-12-28 07:43
1. scanf("%If%If%If", &a, &b, &c);改成scanf("%lf%lf%lf", &a, &b, &c); 2. scanf("%d,%d", &a, &b);要求输入的两个数之间有个逗号
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯