函数2 2018年11月29日

函数2 2018年11月29日以下内容仅供娱乐,欢迎随时探讨,请多指教!1、下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数 fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。#include <stdio.h>void fun(int a
摘要由CSDN通过智能技术生成

函数2 2018年11月29日
以下内容仅供娱乐,欢迎随时探讨,请多指教
1、下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数 fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。

#include <stdio.h>
void fun(int a[][5])
{
   
	int i,k;
	for(i=0; i<5; i++)
		for(k=0; k<5; k++)
			if(i>=k)a[i][k]=0;
}
int main()
{
   
	int a[5][5];
	int i,k;
	for(i=0; i<5; i++)
		for(k=0; k<5; k++)
			a[i][k]=5*i+k+1; 
	fun(a);
	for(i=0; i<5; i++)
	{
   
		for(k=0; k<5; k++)
			printf("%d\t",a[i][k]);
		printf("\n\n");
	}
	return 0;
}

函数接口如下:int fun(int a[][N],int n)
2、下列程序定义了n×n的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是求出数组周边元素的平均值并作为函数值返回给主函数中的s。
函数接口如下:double fun(int w[][N],int n)

#include <stdio.h>
double fun(int w[][5],int n)
{
   
	int i;
	double s;
	for(i=0; i<5; i++)
		s+=w[0][i]+w[4][i];
	for(i=1; i<5-1; i++)
		s+=w[i][0]+w[i][4];
	return s/(4*5-4);
}
int main()
{
   
	int a[5][5];
	int i,k;
	double s;
	for(i=0; i<5; i++)
		for(k=0; k<5; k++)
			a[i][k]=5*i+k+1;
	s=fun(a,5);
	for(i=0; i<5; i++)
	{
   
		for(k=0; k<5; k++)
			printf("%d\t",a[i][k]);
		printf("\n\n");
	}
	printf("s=%lf\n",s);
	return 0;
}

3、请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予。
函数接口如下:void fun(int tt[M][N], int pp[N])

#include <stdio.h>
#define M 3
#define N 3
void fun(int tt[M][N], int pp[N])
{
   
	int i,k,n;
	for(i=0; i<3; i++) //列
	{
   
		n=0;
		for(k=0; k<3; k++) //行
		{
   
			if( tt[k][i] < tt[n][i] )n=k;//记录
		}
		pp[i]=tt[n][i];
	}
}
int main()
{
   
	int tt[M][N]= {
   {
   5,2,13},{
   4,11,6},{
   7,8,9}},pp[N];
	int i,k;
	fun(tt,pp);
	printf("before is\n");
	for(i=0; i<M; i++)
	{
   
		for(k=0; k<N; k++)
			printf("%d\t",tt[i][k]);
		printf("\n\n");
	}
	for(i=0; i<3; i++)
		printf("%d ",pp[i]);
	return 0;
}

4、请编写一个函数unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w后n-1位的数作为函数值返回。
函数接口如下:unsigned int fun(unsigned int w)

#include <stdio.h>
//注意范围
unsigned int fun(unsigned int w)
{
   
	if(w>=10000) return w%10000;
	if(w>=1000) return w%1000;
	if(w>=100) <
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值