C语言程序为何只能输入一次 70
#include<stdio.h>#include<math.h>main(){intn,m;printf("请输入数据坐标点的个数n:");scanf("%d",&n)...
#include<stdio.h>
#include<math.h>
main()
{int n,m;
printf("请输入数据坐标点的个数n:");
scanf("%d",&n);
double a,b,c=0,d=0,e=0,f=0;
double x[1000],y[1000];
for(m=1;m<=n;m++)
{printf("输入第%d个点的坐标:",m);
scanf("%f%f",&x[m-1],&y[m-1]);
c+=x[m];
d+=y[m];
e+=x[m]*y[m];
f+=pow(x[m],2);}
b=(n*e-c*d)/(n*f-pow(c,2));
a=(f*d-c*e)/(n*f-pow(c,2));
printf("您所求的回归方程为:y=%.2f*x+%.2f\n)\n",b,a);
return 0;
}
这个程序向数组内输入程序只能输入一个,但是printf可以一直循环,求问是哪里出了问题。 展开
#include<math.h>
main()
{int n,m;
printf("请输入数据坐标点的个数n:");
scanf("%d",&n);
double a,b,c=0,d=0,e=0,f=0;
double x[1000],y[1000];
for(m=1;m<=n;m++)
{printf("输入第%d个点的坐标:",m);
scanf("%f%f",&x[m-1],&y[m-1]);
c+=x[m];
d+=y[m];
e+=x[m]*y[m];
f+=pow(x[m],2);}
b=(n*e-c*d)/(n*f-pow(c,2));
a=(f*d-c*e)/(n*f-pow(c,2));
printf("您所求的回归方程为:y=%.2f*x+%.2f\n)\n",b,a);
return 0;
}
这个程序向数组内输入程序只能输入一个,但是printf可以一直循环,求问是哪里出了问题。 展开
2个回答
展开全部
for(; ; ;){
printf("请输入数据坐标点的个数n:");
scanf("%d",&n);
} 加个for循环,你看些什么合适!因为你没有循环,所有酒只能输入一次,因为后面有循环,所以可以一直循环!
追问
兄弟,我语句中本来就带着for循环啊
追答
for(m=1;m<=n;m++)
{printf("输入第%d个点的坐标:",m);
fpurge(stdin);//清除之前的缓存试试!
scanf("%f%f",&x[m-1],&y[m-1]);
c+=x[m];
d+=y[m];
e+=x[m]*y[m];
f+=pow(x[m],2);}
b=(n*e-c*d)/(n*f-pow(c,2));
a=(f*d-c*e)/(n*f-pow(c,2));
printf("您所求的回归方程为:y=%.2f*x+%.2f\n)\n",b,a);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询