爱问知识人 爱问教育 医院库

c语言高手帮个忙(请先看问题,好解答

首页

c语言高手帮个忙(请先看问题,好解答

程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[ ][ N ],int n),该函数的功能是使数组左下半三角元素中的值加上n。
例如:若n的值为3,a数组中的值为
a=2  5  4
1  6  9
5  3  7
则返回主程序后a数组中的值应为
5  5  4
4  9  9
8  6  10 
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include     <stdio.h>
#include     <conio.h>
#include     <stdlib.h>
#define    N  5
fun(int a[ ][N], int n)
{
 int i, j;

 for(i=0; i<=N; i++)
   for(j=0; j<=i; j++)
      a[i][j]=a[i][j]+n;    /*使数组左下半三角元素中的值加上n*/
}

main()
{ 
 FILE *wf;
 int  a[N][N],n, i,j;
 int  b[N][N]={2,5,4,0,0,1,6,9,0,0,5,3,7};
 clrscr();
 printf("***** The array *****\n");
 for(i=0; i<N; i++)                /*产生一个随机5*5矩阵*/
   {  
      for(j=0; j<N; j++)
         {  
            a[i][j]=rand()%10; 
            printf("%4d", a[i][j]);
         }
      printf("\n");
   }
 do  
   n=rand()%10;            /*产生一个小于5的随机数n*/
 while(n>=5);
 printf("n=%4d\n",n);
 fun(a, n);
 printf("*****THE  RESULT*****\n");
 for(i=0; i<N; i++)
   {  
      for (j=0; j<N; j++) 
          printf("%4d",a[i][j]);
      printf("\n");
   }
/******************************/
 wf=fopen("out.dat","w");
 fun(b,3);
 for(i=0; i<N; i++)
   {  
      for (j=0; j<N; j++) 
    fprintf(wf,"%4d",b[i][j]);
      fprintf(wf,"\n");
   }
 fclose(wf);
/*****************************/
}




后面打星号部分做什么用的????

提交回答
好评回答
  • 2007-04-02 15:38:09
      后面这段语句的意思就是打开一个文件out。dat,将fun函数处理过的b数组循环写入out。dat文件中,具体函数的解释如下:
    fopen是C语言的文件打开函数,其调用的一般形式为:
    文件指针名=fopen(文件名,使用文件方式) 
    其中,“文件指针名”必须是被说明为FILE 类型的指针变量,主函数中的这句话FILE *wf;就是对wf变量的声明。
       "文件名"是被打开文件的文件名,在提问中就是"out。dat"。 "使用文件方式"是指文件的类型和操作要求,在提问中是"w",是"wt"格式的简略格式,表示以只写方式打开或建立一个文本文件,只允许写数据。 fprintf是C语言的格式化写函数,就是向文件指针wf指向的文件中写入数据,在提问中就是将b数组中的数据以"%4d"的格式(宽度为4的整型)循环写入out。
      dat文件。 fclose(wf);是关闭文件指针,完成文件的写操作。 。

    心***

    2007-04-02 15:38:09

类似问题

换一换
  • 软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):