C语言问题,急用,谢谢大家了,就这点分全给了,求帮忙,求救命 20
#include"stdafx.h"#include"math.h"intmain(intargc,char*argv[]){FILE*fp;inti,j;longflo...
#include "stdafx.h"
#include "math.h"
int main(int argc, char* argv[])
{ FILE *fp;
int i,j;
long float x[212],y[212],g[212],k1,k2,k3,k4,a[201],b[201],h[201],c;
FILE *ff;
if ((ff=fopen("canshu.txt","r"))==NULL)
{ printf("cannot open file canshu.txt\n");
return;}
fscanf(ff,"k1 is:%lf k3 is:%lf k4 is:%lf",&k1,&k3,&k4);
fclose(ff);
k2=(115.3*k1-530.42)/17.69;
x[0]=15.100,y[0]=0.600,x[211]=17.205,y[211]=0.075;
for(i=1;i<=210;i++)
{ x[i]=x[i-1]+0.01;
g[i]=(17.205-x[i])/2.105;
y[i]=0.525*sqrt(-k1*g[i]*g[i]*pow(g[i]-1,3)-k2*pow(g[i],3)*pow(g[i]-1,2)+pow(g[i],3)*(6*g[i]*g[i]-15*g[i]+10))+0.075;
}
a[0]=0,b[0]=0;
for(j=1;j<=200;j++)
{ a[j]=a[j-1]+0.005;
h[j]=a[j]/1;
b[j]=0.600*sqrt(k3*h[j]*pow(h[j]-1,4)+k4*h[j]*h[j]*pow(h[j]-1,3)+1-pow(h[j]-1,4)*(4*h[j]+1));
}
fp=fopen("xianxing.txt","w+");
for(j=0;j<=200;j++)
{fprintf(fp,"%10.6f,%10.6f,0\n",a[j]/2,b[j]/2);
}
//fp=fopen("xianxing.txt","w+");
for(i=0;i<=211;i++)
{fprintf(fp,"%10.6f,%10.6f,0\n",x[i]/2,y[i]/2);
}
//return 0;
}
下面是错误,求帮忙改一下,谢谢了
警告 1 warning C4215: 使用了非标准扩展 : 长浮点
警告 2 warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
错误 3 error C2561: “wmain”: 函数必须返回值
错误 4 error C3861: “sqrt”: 找不到标识符
错误 5 error C3861: “pow”: 找不到标识符
错误 6 error C3861: “pow”: 找不到标识符
错误 7 error C3861: “pow”: 找不到标识符
错误 8 error C3861: “pow”: 找不到标识符
错误 9 error C3861: “sqrt”: 找不到标识符 wzy123
错误 10 error C3861: “pow”: 找不到标识符
错误 11 error C3861: “pow”: 找不到标识符
错误 12 error C3861: “pow”: 找不到标识符 wzy123
错误 13 error C1075: 与左侧的 大括号“{”(位于“c:\documents and settings\administrator\桌面\wzy123\wzy123\wzy123.cpp(8)”)匹配之前遇到文件结束
错误 14 IntelliSense: 未定义标识符 "sqrt"
错误 15 IntelliSense: 未定义标识符 "pow"
错误 16 IntelliSense: 未定义标识符 "sqrt" c:\documents and settings\administrator\桌面\wzy123\wzy123\wzy123.cpp 33 15 wzy123
错误 17 IntelliSense: 未定义标识符 "pow" 展开
#include "math.h"
int main(int argc, char* argv[])
{ FILE *fp;
int i,j;
long float x[212],y[212],g[212],k1,k2,k3,k4,a[201],b[201],h[201],c;
FILE *ff;
if ((ff=fopen("canshu.txt","r"))==NULL)
{ printf("cannot open file canshu.txt\n");
return;}
fscanf(ff,"k1 is:%lf k3 is:%lf k4 is:%lf",&k1,&k3,&k4);
fclose(ff);
k2=(115.3*k1-530.42)/17.69;
x[0]=15.100,y[0]=0.600,x[211]=17.205,y[211]=0.075;
for(i=1;i<=210;i++)
{ x[i]=x[i-1]+0.01;
g[i]=(17.205-x[i])/2.105;
y[i]=0.525*sqrt(-k1*g[i]*g[i]*pow(g[i]-1,3)-k2*pow(g[i],3)*pow(g[i]-1,2)+pow(g[i],3)*(6*g[i]*g[i]-15*g[i]+10))+0.075;
}
a[0]=0,b[0]=0;
for(j=1;j<=200;j++)
{ a[j]=a[j-1]+0.005;
h[j]=a[j]/1;
b[j]=0.600*sqrt(k3*h[j]*pow(h[j]-1,4)+k4*h[j]*h[j]*pow(h[j]-1,3)+1-pow(h[j]-1,4)*(4*h[j]+1));
}
fp=fopen("xianxing.txt","w+");
for(j=0;j<=200;j++)
{fprintf(fp,"%10.6f,%10.6f,0\n",a[j]/2,b[j]/2);
}
//fp=fopen("xianxing.txt","w+");
for(i=0;i<=211;i++)
{fprintf(fp,"%10.6f,%10.6f,0\n",x[i]/2,y[i]/2);
}
//return 0;
}
下面是错误,求帮忙改一下,谢谢了
警告 1 warning C4215: 使用了非标准扩展 : 长浮点
警告 2 warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
错误 3 error C2561: “wmain”: 函数必须返回值
错误 4 error C3861: “sqrt”: 找不到标识符
错误 5 error C3861: “pow”: 找不到标识符
错误 6 error C3861: “pow”: 找不到标识符
错误 7 error C3861: “pow”: 找不到标识符
错误 8 error C3861: “pow”: 找不到标识符
错误 9 error C3861: “sqrt”: 找不到标识符 wzy123
错误 10 error C3861: “pow”: 找不到标识符
错误 11 error C3861: “pow”: 找不到标识符
错误 12 error C3861: “pow”: 找不到标识符 wzy123
错误 13 error C1075: 与左侧的 大括号“{”(位于“c:\documents and settings\administrator\桌面\wzy123\wzy123\wzy123.cpp(8)”)匹配之前遇到文件结束
错误 14 IntelliSense: 未定义标识符 "sqrt"
错误 15 IntelliSense: 未定义标识符 "pow"
错误 16 IntelliSense: 未定义标识符 "sqrt" c:\documents and settings\administrator\桌面\wzy123\wzy123\wzy123.cpp 33 15 wzy123
错误 17 IntelliSense: 未定义标识符 "pow" 展开
2个回答
展开全部
警告1:注意赋值,可能超出了变量最大值,容易溢出错误,修改变量值,可以排除。
警告2:fopen 使用不安全,你没有指定路径,是相对编译后的可执行文件所在的目录打开,如果文件不存在,可能导致出错,这个与操作系统有关,不过可以忽略,或者写明绝对路径。
错误3:函数必须返回值,你查看最后一行,ruturn 0; 你加上了注解符号 ,虽然你写了返回语句 但是是注解 系统怎么识别嘛。
关于sqrt 和 pow 标识符找不到的错误:
b[j]=0.600*sqrt(k3*h[j]*pow(h[j]-1,4)+k4*h[j]*h[j]*pow(h[j]-1,3)+1-pow(h[j]-1,4)*(4*h[j]+1));
这些错误可能是C找不到函数 或者函数原型不合用,也许你的程序是VC的 或者是C++ 的 相互移植的时候 会有写法的不同而无法使用,查看你使用的C版本 到底sqrt 和 pow函数原型是什么 ,按照原型写函数就能 正确编译了。
警告2:fopen 使用不安全,你没有指定路径,是相对编译后的可执行文件所在的目录打开,如果文件不存在,可能导致出错,这个与操作系统有关,不过可以忽略,或者写明绝对路径。
错误3:函数必须返回值,你查看最后一行,ruturn 0; 你加上了注解符号 ,虽然你写了返回语句 但是是注解 系统怎么识别嘛。
关于sqrt 和 pow 标识符找不到的错误:
b[j]=0.600*sqrt(k3*h[j]*pow(h[j]-1,4)+k4*h[j]*h[j]*pow(h[j]-1,3)+1-pow(h[j]-1,4)*(4*h[j]+1));
这些错误可能是C找不到函数 或者函数原型不合用,也许你的程序是VC的 或者是C++ 的 相互移植的时候 会有写法的不同而无法使用,查看你使用的C版本 到底sqrt 和 pow函数原型是什么 ,按照原型写函数就能 正确编译了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询