数学建模社区-数学中国

标题: [求助]C做的一个程序,读不进去数据哦~~~ [打印本页]

作者: lavender    时间: 2005-5-8 22:14
标题: [求助]C做的一个程序,读不进去数据哦~~~
<>这是求矩阵的列的平均值的程序</P>
7 O/ t! g: Q  i6 Y, O<>#include&lt;stdio.h&gt;* T9 g5 C8 S4 f4 M- L
#define N 100: x1 a9 O# T* k; F: t) P
#define M 20</P>
; w, A& N* n# u" f: \<>void main()7 x( O$ d7 _( q# T
{* S& n  x( V3 L& _  l: e
FILE *fa,*fb;
1 S4 Z; k0 `( [  O: ]5 j. e char filename[30];
( `. Y- K8 \6 g int n,m,i,j;1 L+ B, t6 W- Z- K; U
double a[N*M]={0.0},b[M]={0.0};</P>  }; `" m. W9 N6 x+ v1 f
<> printf("lease input the number of columns and lines of matrix:n,m\n",N,M);8 U3 H( v! M& A
scanf("%d%d",&amp;n,&amp;m);</P>& A( c6 u( |0 u: W3 Y
<> while(n&gt;N||n&lt;=0||m&gt;M||m&lt;=0)
3 p! c6 k# ]3 o9 i {: N, g: u' ^5 _% K0 u% [
  printf("lease input number of matrix:n(0&lt;n&lt;N),m(0&lt;m&lt;M)again!\n",N,M);
! i7 s* c6 u' L& w' N) }# W4 r" c  scanf("%d%d",&amp;n,&amp;m);
: d4 H# J) a- `$ h4 _4 y }</P>: ]; e, u" X$ b
<> printf("lease input a filename:\n");
1 y% N0 Q6 R6 P4 P6 i, M, \ printf("\n");# C( {$ g) C* ~% g) V% t2 P
scanf("%s",filename);</P>
3 S' w4 n' M3 v  y; v3 G<> if((fa=fopen(filename,"r"))==NULL)0 {% {. ~7 N- Q1 E- A! l
{
& x6 c% I5 t& ]2 |4 y  printf("File is not exist.Please creat a file.\n");" b& z% h) J# T) m
  exit(0);. z' h8 d+ F; l4 P7 I! ?! E; o
}" N4 B! e- b# Q1 Q; X& F$ Q

# b2 \2 O+ D3 M  g! p  while(!feof(fa))
/ K8 a) e9 B2 L& ]  {
6 L. O: C( u4 {4 F: @3 S    for(i=0;i&lt;m;i++)7 Q- q: m( v9 [
    fscanf(fa,"%f",&amp;a);7 R- q& f; J. O. L; \) k
    printf("%f",a);
4 v/ O) z5 g9 l: |! ]7 D  }</P>
, a5 F3 q* F# B' E5 d+ s( r<>  for (i=0;i&lt;n;i++)' L# L5 s$ b2 I8 s
    for (j=0;j&lt;m;j++)5 \4 K( Q& _0 s: q' T$ b
      if (j==m-1) printf("%15.2f\n",a[i*m+j]);
0 R4 N, J' ~+ V" ?. V4 U      else printf("%15.2f",a[i*m+j]);</P>
( n3 R- ]$ |- L) z9 O2 I4 w<>  for(i=0;i&lt;m;i++)
. w, _3 Q1 I6 g7 c  {
" F- F1 i; N4 o( V1 S   for(j=0;j&lt;n;j++)
, A+ u  J8 \$ E* w   b+=1.0/n*a[i+j*m];
! j7 H+ [9 Z( ]7 ]. y  }</P>
# t% {# e. f# @! t# c<>
$ ~  z( F+ Y, p9 M1 m9 z$ t  z  fclose(fa);</P>& U/ b9 M6 U# g
<>  if((fb=fopen("result.txt","w"))==NULL)- U6 D1 f3 A- z$ x, m
  {! r# v" L. h; L; C$ Z7 K
   printf("Result file do not exist.\n");
+ \, H7 f4 ~- E0 i1 P8 Q, e+ p   exit(0);
) Z" @  o: _/ k/ r  C" a" q" f  }</P>" Q7 h- B8 m4 G% e# k3 n
<>  else
+ e& _2 F" J  Y  {8 A7 u* x5 i% \* _9 z1 L0 l( H4 D
   fprintf(fb,"The average of matrix:\n");
4 f6 |% f* w6 }$ R# Y   fprintf(fb,"\n");. O  P; \8 E8 S9 H8 F) W% _
   for(i=0;i&lt;m;i++)
& w" `; A' n. n7 }   fprintf(fb,"%15.3f",b);4 R' f  H. h3 p2 @" T
   fprintf(fb,"\n");
5 H# K. X( E* a7 f  }& c5 y4 h; q, U
  fclose(fb);
( D& V0 m+ z4 m) _  printf("Have done!The result in file:result.txt\n");</P>$ [/ N4 G5 r- X3 V3 U+ {
<>}</P>
作者: ilikenba    时间: 2005-5-12 10:19
<>可以读入数据呀!</P><>scanf("%d%d",&amp;n,&amp;m);这条语句中"%d%d"的格式要求是你输入数据的时候必须以空格作为两个数据的间隔符!如果想用逗号作间隔符可以改成"%d,%d",你一定是在输两个数据的时候中间的间隔符弄错了,造成不能读入!</P>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5