数学建模社区-数学中国

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

作者: lavender    时间: 2005-5-8 22:14
标题: [求助]C做的一个程序,读不进去数据哦~~~
<>这是求矩阵的列的平均值的程序</P>* b. v+ Y% ^) q+ p
<>#include&lt;stdio.h&gt;# y; p& F, E( k( [
#define N 100
8 z% s# U  U! q+ j# {4 o#define M 20</P>. Y$ J" b" ~0 g
<>void main()
0 Q+ K0 |- ]( E  i/ a{
/ ]0 l9 I, ?( ^  c FILE *fa,*fb;
# Y: R0 K: C% y# A# U8 [0 ` char filename[30];9 I# e# G  q+ o$ k* h; Y
int n,m,i,j;
1 _% z/ |% q+ Z; T: E1 @5 A: h: y double a[N*M]={0.0},b[M]={0.0};</P>1 O( g1 q0 h7 U4 V9 s/ d' F
<> printf("lease input the number of columns and lines of matrix:n,m\n",N,M);2 n& e, p  [2 b2 Q1 V
scanf("%d%d",&amp;n,&amp;m);</P># \; W$ ]# R7 m0 E: @: H; O
<> while(n&gt;N||n&lt;=0||m&gt;M||m&lt;=0). m' l( l3 ]! n  u! j5 r: \; f8 U
{
0 p" _$ N: N7 O: p  printf("lease input number of matrix:n(0&lt;n&lt;N),m(0&lt;m&lt;M)again!\n",N,M);
2 r" B+ M% f5 W8 C1 C; l  scanf("%d%d",&amp;n,&amp;m);
' [5 ^; \/ Y& B$ r! A7 {5 a }</P>0 Q3 K6 P/ U: p5 C
<> printf("lease input a filename:\n");8 R4 J8 c) {1 Z2 O5 B# X
printf("\n");# ^3 C# |$ t" T& `: j! W
scanf("%s",filename);</P>
: v: z  o; I) r. j, ]<> if((fa=fopen(filename,"r"))==NULL)
2 |$ I" P% A7 m2 V {
6 d7 j0 _; d" ~% h0 S  printf("File is not exist.Please creat a file.\n");3 J$ l: s# A7 H" K9 h9 Z
  exit(0);# t) n  a5 @+ [- Z
}9 C* G% n2 m7 A# m9 a

! ?2 Y) L0 l  u  while(!feof(fa))) @7 B5 }+ ], X6 I2 Y1 h
  {
- f7 n* _" k+ Z; r( L: {    for(i=0;i&lt;m;i++)
" B# Y! N+ h# s6 C) Q# M0 k    fscanf(fa,"%f",&amp;a);
( u  H: k$ u3 i6 r1 {    printf("%f",a);. F2 G7 f" w# e& H  h7 j7 M6 z/ i
  }</P>
+ Q7 S, ?+ S8 x% b# \2 r) ~7 ]8 T/ \6 }! b<>  for (i=0;i&lt;n;i++)
) e( a8 ~6 ~1 l    for (j=0;j&lt;m;j++)5 q, \4 k7 X/ m, g
      if (j==m-1) printf("%15.2f\n",a[i*m+j]);
4 a9 K" G! \; J- C# U+ E% V      else printf("%15.2f",a[i*m+j]);</P>; q! ~2 p* V* b; B
<>  for(i=0;i&lt;m;i++)8 s4 o2 K  Q/ x
  {# K1 p( N! Q. t. D/ C
   for(j=0;j&lt;n;j++)- j7 q) p6 q% w# {- D7 @1 g
   b+=1.0/n*a[i+j*m];- o4 Y% g/ j7 J  G+ _' x) W
  }</P>
; |9 C9 l; u: v& x. \<>- Q5 B4 ^% f' H
  fclose(fa);</P>0 `) y6 ~7 g( b3 I
<>  if((fb=fopen("result.txt","w"))==NULL)  W- w- R3 z3 Q8 p% [) `3 _
  {
4 M( R* {' o+ b2 `2 I   printf("Result file do not exist.\n");
3 y! T$ {3 g, S) t6 h, r6 S- G% b) M   exit(0);
8 N6 T$ {; _- `, |2 ?( J- S% t  }</P>/ R& Y7 L0 S/ }1 U
<>  else/ U# s/ [4 y3 W$ a/ b
  {+ _; N% o& h" v, w1 p2 |
   fprintf(fb,"The average of matrix:\n");: O  c7 {! Q7 P6 h
   fprintf(fb,"\n");
# p3 y6 \( U/ f; b8 E   for(i=0;i&lt;m;i++)4 z, c: w, x% J$ `! R
   fprintf(fb,"%15.3f",b);
. I/ H4 _# `/ p; K) {   fprintf(fb,"\n");
0 I/ A+ r- F/ e' z  }7 z" K/ A4 l( n
  fclose(fb);
& `4 ?: A9 p2 D% i( N) L  printf("Have done!The result in file:result.txt\n");</P>
3 ]; q6 M3 ^2 w. V7 ?3 Q<>}</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