求解:最简单的c语言打开文件程序为什么运行不了?
解决时间 2021-02-11 06:47
- 提问者网友:辞取
- 2021-02-10 21:14
我写的程序代码如下
#include
void main()
{
FILE *fp;
fp=fphzk("C:\\Documents and Settings\qjdzyls\桌面\新建 文本文档.txt","rb");
}
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-02-10 21:50
代码不完整
全部回答
- 1楼网友:一把行者刀
- 2021-02-10 23:22
第一行:#inlcude include打错了
第七行:scanf("p=%f,q=%f",&p,&q);错误 改为scanf("%lf%lf",&p,&q);
第十四行:if(m=0) 改为if(m==0)
第十七行:{b=sqrt(-m);c=b/2; c没有定义过
对m大小的判断:因为我把m设为了double型根据该类型的精度判断它与正负(1e-6)的大小就行了,这样更精确。
剩下的我帮你改了下数据类型(float精度不够,或者你采用格式转换也行,编译器是vc的话不会报错只会警告)和输出格式。
#include
#include
main()
{
double p,q,m,a,b,r1,r2,c;
printf("input the feature of a differential equation:\n");
scanf("%lf%lf",&p,&q);
printf("your differential equation is:y''+%5.2fy'+%5.2fy=0\n",p,q);
printf("so you can get a feature equation:r^2+%5.2fr+%5.2f=0\n",p,q);
m=p*p-4*q;
if(m>(1e-6))
{
a=sqrt(m);r1=(-p/2)+(a/2);r2=(-p/2)-(a/2);
printf("your answer is y=(c1*e^(%5.2f*x))+(c2*e^(%5.2f*x))\n",r1,r2);}
if(m>=-(1e-6)&&m<=(1e-6))
{
r1=(-p)/2;
printf("your answer is y=(c1+c2)*e^(%5.2f*x)\n",r1);}
if(m<-(1e-6))
{
b=sqrt(-m);c=b/2;
printf("your answer is y=e^((-%5.2f/2)*x)(cos(%5.2f*i)+sin(%5.2f*i)\n",p,c,c);}
}
我要举报
大家都在看
推荐资讯