#include <stdio.h> #include <stdlib.h> #define N 5 void fun (int a[][N], int n) { /*************代码开始**********/ int i,j; for(i=0; i<N; i++){ for(j=0; j<=i; j++){ a[i][j]*=n; } } /*************代码结束**********/ } NONO() {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *rf, *wf ; int i, j, n, a[5][5] ; rf = fopen("in.dat", "r"); wf = fopen("out.dat", "w"); for(i = 0 ; i < 5 ; i++) for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d ", &a[i][j]); fscanf(rf, "%d", &n); fun(a, n); for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) fprintf(wf, "%4d", a[i][j]); fprintf(wf, "\n"); } fclose(rf); fclose(wf); } main () {int a[N][N], n, i, j; 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"); } do n = rand()%10 ; while (n >=3); 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"); } NONO(); system("pause"); }
时间: 2023-08-07 13:02:32 浏览: 236
这段代码的作用是对一个5x5的二维数组中的部分元素乘以一个随机生成的整数n,并将修改后的数组写入文件。下面是一个可能的实现方式:
```C
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 5
void fun(int a[][N], int n) {
for (int i = 0; i < N; i++) {
for (int j = 0; j <= i; j++) {
a[i][j] *= n;
}
}
}
void NONO() {
FILE *rf, *wf;
int i, j, n, a[5][5];
rf = fopen("in.dat", "r");
wf = fopen("out.dat", "w");
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
fscanf(rf, "%d ", &a[i][j]);
}
}
fscanf(rf, "%d", &n);
fun(a, n);
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
fprintf(wf, "%4d", a[i][j]);
}
fprintf(wf, "\n");
}
fclose(rf);
fclose(wf);
}
int main() {
int a[N][N], n, i, j;
printf("***** The array *****\n");
srand((unsigned)time(NULL));
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
a[i][j] = rand() % 10;
printf("%4d", a[i][j]);
}
printf("\n");
}
do {
n = rand() % 10;
} while (n >= 3);
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");
}
NONO();
system("pause");
return 0;
}
```
在这个实现中,函数fun用于修改二维数组中的元素,将前i行中的前j列元素乘以n。main函数中,先随机初始化一个5x5的二维数组,并随机生成一个小于3的整数n。然后调用fun函数修改数组,输出修改后的结果。最后调用NONO函数将修改后的数组写入文件。注意,在这个实现中,程序使用了time函数来初始化随机数生成器。同时,输出文件中的结果采用了固定的4位宽度。
阅读全文
相关推荐


















