C语言编程题求解
程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:给数组周边元素置1值。例如:a数组中的值为|0111279||11111||19745|...
程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数 fun,函数的功能是:给数组周边元素置1值。例如:a 数组中的值为
|0 11 12 7 9| |1 1 1 1 1|
|1 9 7 4 5| |1 9 7 4 1|
a = |20 13 18 3 1| 则返回主程序后a数组中的值应为 |1 13 18 3 1|
|14 5 6 8 2| |1 5 6 8 1|
|15 9 17 4 1| |1 1 1 1 1|
注意:部分源程序存在考生文件夹下的文件prog0.c中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
//prog0.c
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#define N 5
fun ( int w[][N] )
{
//填写处
}
main ( )
{ int a[N][N], i, j;
system("cls");
printf("***** The array *****\n");
for ( i =0; i<N; i++ )
{ for ( j =0; j<N; j++ )
{ a[i][j] = rand()%10; printf( "%4d", a[i][j] ); }
printf("\n");
}
fun ( a );
printf ("***** THE RESULT *****\n");
for ( i =0; i<N; i++ )
{ for ( j =0; j<N; j++ ) printf( "%4d", a[i][j] );
printf("\n");
}
NONO( );
}
NONO( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
int i, j, a[5][5], s ;
rf = fopen("bg08.in", "r") ;
wf = fopen("bg08.out", "w") ;
for(i = 0 ; i < 5 ; i++)
for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d ", &a[i][j]) ;
fun(a) ;
for ( i =0; i<N; i++ ) {
for ( j =0; j<N; j++ ) fprintf(wf, "%4d", a[i][j] );
fprintf(wf, "\n") ;
}
fclose(rf) ;
fclose(wf) ;
} 展开
|0 11 12 7 9| |1 1 1 1 1|
|1 9 7 4 5| |1 9 7 4 1|
a = |20 13 18 3 1| 则返回主程序后a数组中的值应为 |1 13 18 3 1|
|14 5 6 8 2| |1 5 6 8 1|
|15 9 17 4 1| |1 1 1 1 1|
注意:部分源程序存在考生文件夹下的文件prog0.c中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
//prog0.c
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#define N 5
fun ( int w[][N] )
{
//填写处
}
main ( )
{ int a[N][N], i, j;
system("cls");
printf("***** The array *****\n");
for ( i =0; i<N; i++ )
{ for ( j =0; j<N; j++ )
{ a[i][j] = rand()%10; printf( "%4d", a[i][j] ); }
printf("\n");
}
fun ( a );
printf ("***** THE RESULT *****\n");
for ( i =0; i<N; i++ )
{ for ( j =0; j<N; j++ ) printf( "%4d", a[i][j] );
printf("\n");
}
NONO( );
}
NONO( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
int i, j, a[5][5], s ;
rf = fopen("bg08.in", "r") ;
wf = fopen("bg08.out", "w") ;
for(i = 0 ; i < 5 ; i++)
for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d ", &a[i][j]) ;
fun(a) ;
for ( i =0; i<N; i++ ) {
for ( j =0; j<N; j++ ) fprintf(wf, "%4d", a[i][j] );
fprintf(wf, "\n") ;
}
fclose(rf) ;
fclose(wf) ;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询