计算机C语言二级操作题之编程题

这是一个C语言二级考试的编程题,要求编写一个函数fun,该函数接收一个N×N的二维数组和整数m,将数组右上半三角的元素乘以m。给定的程序例子显示了原始数组和经过函数处理后的数组效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[ ][N],int m),该函数的功能是使数组右上半三角元素中的值乘以m。
例如,若m的值为2,a数组中的值为:
在这里插入图片描述
则返回主程序后a数组中的值应为:
在这里插入图片描述
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 5
//最重要的函数
void fun(int a[][N], int m)
{
	int i,j;
	for(i=0;i<N;i++){
		for(j=0;j<=i;j++)
			a[j][i]=a[j][i]*m;
	}
}
main()
{ 
int a[N][N],m, i, j;
FILE *out;
printf("*****The array*****\n");
for(i=0;i<N;i++)
{ for(j=0;j<N;j++)
{a[i][j]=rand()%20;
printf("%4d", a[i][j]);
}
printf("\n");
}
m=rand()%4;
printf("m=%4d\n",m);
fun(a,m);
printf("THE RESULT\n"); 
for(i=0;i<N;i++)
{ for(j=0;j<N;j++) 
printf("%4d",a[i][j]);
printf("\n");
}
/******************************/
out=fopen("out.dat","w");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
a[i][j]=i*j;
fun(a,8);
for(i=0;i<N;i++)
{ for(j=0;j<N;j++)
fprintf(out,"%4d",a[i][j]);
fprintf(out,"\n");
}
fclose(out);
/******************************/
}

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值