C语言 方程求解 输出后一长串数字

作者&投稿:宋皆 (若有异议请与网页底部的电邮联系)
c语言输出奇怪的一长串数字怎么办~

printf语句中把sum前面的&去掉。
只有scanf的时候需要加这个。

#includeint main(void){char c;long num = 0;while((c = getchar()) != '
'){if(c >= '0' && c <= '9'){num = num * 10 + (c - '0');}}printf("num = %d
", num);}代码比较简单,就不写注释了,相信你能看懂。
希望对你有所帮助。

//已修改好
#include<stdio.h>
#include<math.h>

int main()
{
double a,b,c,x1,x2;
scanf("%lf%lf%lf",&a,&b,&c);

if (b*b-4*a*c<0)
{
printf("no\n");
}
else
{
if (b*b-4*a*c==0)
{
printf("%.2lf\n",(-b)/2/a);
}
else
{
x1=(-b+sqrt(b*b-4*a*c))/2/a;
x2=(-b-sqrt(b*b-4*a*c))/2/a;
if (x1>x2)
{
printf("%.2lf %.2lf\n",x1,x2);
}
else
{
printf("%.2lf %.2lf\n",x2,x1);
}
}
}
return 0;
}
//下面的是一个逻辑更完善的,供你参考
#include<stdio.h>
#include<math.h>

int main()
{
double a,b,c,x1,x2,d;

scanf("%lf%lf%lf",&a,&b,&c);
if(a==0)
{
if(b==0)
{
if(0==c)
{
printf("恒等式:0+0+0=0\n");
}
else
{
printf("输入错误,不能构成等式!\n");
}
}
else
{
printf("只能构成一元一次方程,x=%.2lf\n",0==-(double)c/b ? 0 : -(double)c/b);
}

}
else
{
d=b*b-4*a*c;
if(d<0)
{
printf("x1=%.2lf+%.2lfi\nx2=%.2lf-%.2lfi\n",(-b)/(2.0*a),sqrt(-d)/(2.0*a),(-b)/(2.0*a),sqrt(-d)/(2.0*a));
}
else if(d==0)
{
printf("x1=x2=%.2lf\n",(-b)/(2.0*a));
}
else
{
x1=(-b+sqrt(d))/(2.0*a);
x2=(-b-sqrt(d))/(2.0*a);
printf("x1=%.2lf\nx2=%.2lf\n",x1,x2);
}
}
return 0;
}

你x1,x2都没有初值。
当你输入的3个数满足b*b-4*a*c<0的时候,没有执行else,x1,x2也就没有赋值,那么x1,x2就是随机数,那么后一个if语句比较和打印的x1,x2,自然也是随机数了啊。


定南县17040229079: C语言 方程求解 输出后一长串数字 -
怀翁丑丑: //已修改好#include<stdio.h>#include<math.h> int main() { double a,b,c,x1,x2; scanf("%lf%lf%lf",&a,&b,&c); if (b*b-4*a*c<0) { printf("no\n"); }else { if (b*b-4*a*c==0) { printf("%.2lf\n",(-b)/2/a); } else { x1=(-b+sqrt(b*b-4*a*c))/2/a; x2=(-b-sqrt(b*b...

定南县17040229079: c语言输出奇怪的一长串数字怎么办 -
怀翁丑丑: printf语句中把sum前面的&去掉. 只有scanf的时候需要加这个.

定南县17040229079: 为什么c语言中输出的数字是 一长串并且不对的
怀翁丑丑: 你输出的时候类型换成long int型或者double型试试

定南县17040229079: C语言 为什么输出的很长的一串负数 -
怀翁丑丑: 除了a[0]之外,其他元素没有输入数据 请采纳,谢谢

定南县17040229079: C语言,如何将一个个输入的数字变成一串数字一起输出来,求解~ -
怀翁丑丑: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17#include<stdio.h>intmain(void) {charc;longnum = 0; while((c = getchar()) != '\n'){duif(c >= '0'&& c <= '9'){num = num * 10 + (c - '0');}} printf("num = %d\n", num); } 代码比较简单,就不写注释了,相信你能看懂.希望对你有所帮助.

定南县17040229079: C语言求一串数字的个数,比如003,输出3,00001,输出5,010201,输出6,用getchar或者其他方法,越多越好 -
怀翁丑丑: #include#include//字符函数头文件 int main() { char a[100]; int len; printf("请输入一串字符串:\n"); scanf("%s",a); len = strlen(a);//求字符串长度函数 printf("长度为%d\n",len); return 0; }

定南县17040229079: C语言,如图,为什么float替换%d会出现这么一大串数字,求原因.float和%d都是32位,不存在截取的问题啊 -
怀翁丑丑: float f; scanf("%d",&f); printf("\n%d\n%f",f,f); 你运行一下,看获取到的f的值是多少,(获取到为0)

定南县17040229079: 为什么用C语言输出一元二次方程的答案不对,有两个解时,一个是0.00000,另一个总是个很大的负数 -
怀翁丑丑: printf("该方程有两个解,x1=%0.6lf,x2=%0.6lf",x1,x2); 引号错了 printf("该方程有一个解,x1=%0.6f“,x1); double 对应%lf float 对应 %f 这个虽然有时候可以通用但是有时候会出错 建议区分这一点 还有就是为什么后面会出现数字乱码 是因为 两个 %lf 得不到你传递的两个值 所以产生了垃圾值!

定南县17040229079: 求解C语言题目编程序输入一个给定的数n后,输出的所有不超过n的,其平方由左右对称的数字组成的数.如输入30,输出1,2,3,11,22,26,因为它们的平方是1... -
怀翁丑丑:[答案] 需要判断回文,我已经尽量简单 #include int fun(int n) { int i, j, a[20]={0}; for(i=0; n; i++, n/=10) a[i] = n%10; for(j=0, i--; j

定南县17040229079: c++ 函数求最小值. 输出结果怎么是一串数字..... 求解释、、、、、 -
怀翁丑丑: 把scanf函数改成 scanf("%d%d%d",&x,&y,&z); 就行了; 或者输入时,记着带上“,”.比如:1,2,3然后按回车.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网