lavender 发表于 2005-5-8 22:14

[求助]C做的一个程序,读不进去数据哦~~~

<P>这是求矩阵的列的平均值的程序</P>
<P>#include&lt;stdio.h&gt;
#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",&amp;n,&amp;m);</P>
<P> while(n&gt;N||n&lt;=0||m&gt;M||m&lt;=0)
{
  printf("Please input number of matrix:n(0&lt;n&lt;N),m(0&lt;m&lt;M)again!\n",N,M);
  scanf("%d%d",&amp;n,&amp;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&lt;m;i++)
    fscanf(fa,"%f",&amp;a);
    printf("%f",a);
  }</P>
<P>  for (i=0;i&lt;n;i++)
    for (j=0;j&lt;m;j++)
      if (j==m-1) printf("%15.2f\n",a);
      else printf("%15.2f",a);</P>
<P>  for(i=0;i&lt;m;i++)
  {
   for(j=0;j&lt;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&lt;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>

ilikenba 发表于 2005-5-12 10:19

<P>可以读入数据呀!</P><P>scanf("%d%d",&amp;n,&amp;m);这条语句中"%d%d"的格式要求是你输入数据的时候必须以空格作为两个数据的间隔符!如果想用逗号作间隔符可以改成"%d,%d",你一定是在输两个数据的时候中间的间隔符弄错了,造成不能读入!</P>
页: [1]
查看完整版本: [求助]C做的一个程序,读不进去数据哦~~~