[求助]C做的一个程序,读不进去数据哦~~~
<P>这是求矩阵的列的平均值的程序</P><P>#include<stdio.h>
#define N 100
#define M 20</P>
<P>void main()
{
FILE *fa,*fb;
char filename;
int n,m,i,j;
double a={0.0},b={0.0};</P>
<P> printf("Please input the number of columns and lines of matrix:n,m\n",N,M);
scanf("%d%d",&n,&m);</P>
<P> while(n>N||n<=0||m>M||m<=0)
{
printf("Please input number of matrix:n(0<n<N),m(0<m<M)again!\n",N,M);
scanf("%d%d",&n,&m);
}</P>
<P> printf("Please input a filename:\n");
printf("\n");
scanf("%s",filename);</P>
<P> if((fa=fopen(filename,"r"))==NULL)
{
printf("File is not exist.Please creat a file.\n");
exit(0);
}
while(!feof(fa))
{
for(i=0;i<m;i++)
fscanf(fa,"%f",&a);
printf("%f",a);
}</P>
<P> for (i=0;i<n;i++)
for (j=0;j<m;j++)
if (j==m-1) printf("%15.2f\n",a);
else printf("%15.2f",a);</P>
<P> for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
b+=1.0/n*a;
}</P>
<P>
fclose(fa);</P>
<P> if((fb=fopen("result.txt","w"))==NULL)
{
printf("Result file do not exist.\n");
exit(0);
}</P>
<P> else
{
fprintf(fb,"The average of matrix:\n");
fprintf(fb,"\n");
for(i=0;i<m;i++)
fprintf(fb,"%15.3f",b);
fprintf(fb,"\n");
}
fclose(fb);
printf("Have done!The result in file:result.txt\n");</P>
<P>}</P> <P>可以读入数据呀!</P><P>scanf("%d%d",&n,&m);这条语句中"%d%d"的格式要求是你输入数据的时候必须以空格作为两个数据的间隔符!如果想用逗号作间隔符可以改成"%d,%d",你一定是在输两个数据的时候中间的间隔符弄错了,造成不能读入!</P>
页:
[1]