C编程,程序改错

来源:百度知道 编辑:UC知道 时间:2024/05/31 20:20:11
#include<stdio.h>
main()
{ double a,b,c,s,v;
printf("input a,b,c:\n");
scanf("%d%d%d",&a,&b,&c);
s=a*b;
v=a*b*c;
printf("%d%d%d",a,b,c);
printf("s=%f\n",s,"v=%d\n",v);
}
执行时:
inprt a,b,c:2.0 2.0 3.0(输入数据)
要求输出:
a=2.000000,b=2.000000,c=3.000000
s=4.000000,v=12.000000

哪位DX帮我看下哪里出问题了

main()
{
float a,b,c,s,v;
printf("input a,b,c:\n");
scanf("%f%f%f",&a,&b,&c);
s=a*b;
v=a*b*c;
printf("a=%f,b=%f,c=%f\n",a,b,c);
printf("s=%f,v=%f\n",s,v);
}
用float类型就可以了,你输入,输出时也要是%f才可以啊,%d是整形,类型不正确是不行的。

正确运行如下:

#include<stdio.h>
main()
{ double a,b,c,s,v;//(定义的是双精度的吧)
printf("input a,b,c:\n");
scanf("%lf%lf%lf",&a,&b,&c);//(scanf语句(%d%d%d应该为%lf%lf%lf{注:%LF})
s=a*b;
v=a*b*c;
printf("a=%f b=%f c=%f",a,b,c);//(%d%d%d改为%f%f%f)
printf(" s=%f\n v=%f\n", s, v);//(%d改为%f)
}

我晕!
你是学C语言的不?
#include<stdio.h>
main()
{ double a,b,c,s,v;(定义的是双精度的吧)
printf("input a,b,c:\n");
scanf("%d%d%d",&a,&b,&c);(scanf语句(%d%d%d应该为%lf%lf%lf{注:%LF})
s=a*b;
v=a*b*c;
printf("%d%d%