请问我的程序那里出错了,重建全部没有错误就是执行不了

来源:百度知道 编辑:UC知道 时间:2024/07/02 02:49:18
#include "stdafx.h"
#include"math.h"
void main()
{float a,b,c,d,e,f,g,h,n,q,t;int i,j;
scanf("%f,%f,%f,%f",&a,&b,&c,&d);

f=(a+b+c)/3;
e=1.6e-019;
h=sqrt(f/1);
g=sqrt(f*f*f*(1+0.02*h)*(1+0.02*h)*(1+0.02*h));
q=(1/d)*(9.3e-014)/g;
n=q/e;i=(int)n;
j=((n-i)>=0.5?(i+1):i);
t=(q/j-e)*(q/j-e);
printf("%f\n,%f\n,%n\n,%d\n,%f\n",f,q,n,j,t);

}

#include"math.h"
#include"stdio.h"//给scanf()和printf()用,第一个stdafx就不要了
void main()
{double a,b,c,d,e,f,g,h,n,q,t;int i,j; //因为是高精度的计算建议使用double类型
scanf("%lf,%lf,%lf,%lf",&a,&b,&c,&d); //%f改成%lf

f=(a+b+c)/3;
e=1.6e-019;
h=sqrt(f/1);
g=sqrt(f*f*f*(1+0.02*h)*(1+0.02*h)*(1+0.02*h));
q=(1/d)*(9.3e-014)/g;
n=q/e;i=(int)n;
j=((n-i)>=0.5?(i+1):i);
t=(q/j-e)*(q/j-e);
printf("%f\n,%f\n,%n\n,%d\n,%f\n",f,q,n,j,t); //第三个改成%f不是%n主要错在这里,不过建议%f都使用%g这样就没有很多0了

}

scanf("%f,%f,%f,%f",&a,&b,&c,&d);
改为:
scanf("%f%f%f%f",&a,&b,&c,&d);
否则在输入数据的时候记得要输入","

在前面加上#include <stdio.h>

#include <stdio.h> 忘了,再有你输入是不是输错格式了