数学建模社区-数学中国

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

作者: lavender    时间: 2005-5-8 22:14
标题: [求助]C做的一个程序,读不进去数据哦~~~
<>这是求矩阵的列的平均值的程序</P>( q3 r" G1 p# Z9 h
<>#include&lt;stdio.h&gt;
# b4 l- W' r" l/ H; t: \#define N 100
4 d' n( H1 ?1 q/ m* [#define M 20</P>
* `0 r6 Y! v. b; ~# l3 `8 F<>void main()
1 `5 Y7 n# o8 t) t{
7 n7 S6 L4 @3 _* _/ ^0 O! N FILE *fa,*fb;
0 O8 v: b7 L6 z char filename[30];
# S- [  A) y3 b* h8 _. Z- X/ g/ F int n,m,i,j;" K0 z+ l7 V) r7 ^3 [/ n0 m; b
double a[N*M]={0.0},b[M]={0.0};</P>* r' w8 L4 w5 }& w# a* v
<> printf("lease input the number of columns and lines of matrix:n,m\n",N,M);7 I4 z  q5 ~; g" M/ U, R1 R
scanf("%d%d",&amp;n,&amp;m);</P>, a9 n  N) x& V6 u- R' n' ^5 z
<> while(n&gt;N||n&lt;=0||m&gt;M||m&lt;=0)
+ R) y+ [& t1 G {
* [3 B" N1 k, ]6 ?1 I  printf("lease input number of matrix:n(0&lt;n&lt;N),m(0&lt;m&lt;M)again!\n",N,M);6 f9 b. l1 O! Z5 y& K: s0 d( @. [9 ^
  scanf("%d%d",&amp;n,&amp;m);
# {- y; Q' k) X. S, |0 \ }</P>
" G( ~$ A6 r7 o& H3 y3 m<> printf("lease input a filename:\n");
% z( o* d& H  z" R printf("\n");
+ r: ?8 [/ @- C- D6 [2 l" y scanf("%s",filename);</P>
# A7 y' z4 z! |' Z' j/ w<> if((fa=fopen(filename,"r"))==NULL)
+ y3 _1 c# x: T) b1 I* k {1 w% c; V, `" D* z
  printf("File is not exist.Please creat a file.\n");
) O5 ?' [! G; c2 u  exit(0);
% {( y9 x% W$ M, r4 p }
+ {$ D" Q( v* V, C4 y1 ]4 j & k# I. B# e" R
  while(!feof(fa))
# h) g/ P$ [* p# r. e2 {  {* D+ v1 m, z1 U$ m. \6 A. I7 R' y% g
    for(i=0;i&lt;m;i++)0 P  m/ r) e6 y  l- ^# O
    fscanf(fa,"%f",&amp;a);1 I, m+ ?8 M7 x! w4 G
    printf("%f",a);
* M4 g! o, `( ]# U7 I  }</P>
# i* U4 W# X' b5 J<>  for (i=0;i&lt;n;i++)4 Y0 R& Y, H/ s2 L% u
    for (j=0;j&lt;m;j++)3 |! t+ n' }# ~6 N8 H
      if (j==m-1) printf("%15.2f\n",a[i*m+j]);
; u# m4 F( y5 K7 D' X8 \" K$ k      else printf("%15.2f",a[i*m+j]);</P>4 K1 i9 Z/ [" q1 x" l
<>  for(i=0;i&lt;m;i++)
6 w! @0 |7 I; `: Q% p  {
6 T6 V3 R  p; _1 P( l% K0 t* O   for(j=0;j&lt;n;j++)3 x* ^# M# _( n( L, e
   b+=1.0/n*a[i+j*m];. F: P* Q; }3 f" \9 k  L
  }</P>
% b: m4 K1 ^0 f* V  @( U<>% K3 }7 @& g: S4 x
  fclose(fa);</P>
7 u$ p' p: X; j$ V7 q( @% V+ k+ {<>  if((fb=fopen("result.txt","w"))==NULL)
7 ^" m9 U/ {4 D0 C5 \: i  {- r# j. l7 S* A. W9 o
   printf("Result file do not exist.\n");# R2 j; Q% M7 v* P
   exit(0);, T% H0 v; U- p0 [: e
  }</P>. T: c+ d4 s% C8 [* u+ Q& d) _1 y
<>  else
- t- L9 F, t5 [/ Y9 ~" o6 _6 {  {
1 F" @8 b' @# G# s   fprintf(fb,"The average of matrix:\n");
% Q2 l) W- D$ @0 V* O: `   fprintf(fb,"\n");& h9 C0 ]7 {9 a4 L5 D6 e* S5 e7 h
   for(i=0;i&lt;m;i++). f1 P. F- Q/ x, q
   fprintf(fb,"%15.3f",b);4 d- j- r4 H2 N, b
   fprintf(fb,"\n");
. e- a; q# u# Z0 U5 y/ ?' T  }
+ y) N1 h" ~6 }# f: {% G- _" d* [; C4 o  fclose(fb);. q: _: k* ~8 C1 d) }! L- ]7 a
  printf("Have done!The result in file:result.txt\n");</P>
- W5 K/ E8 T/ a5 K+ n  d! L<>}</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