qq_58248736 2021-05-26 08:07 采纳率: 100%
浏览 345
已采纳

指针作为函数参数,求救!

【问题描述】 一维整型数组a有5个元素,请编写assign函数和max函数分别实现为数组元素赋值和求解数组元素最大值。目前,除了assign和max这两个函数以外,其他代码已编写完成,如下所示。请编码实现上述两个函数。 #include /* @Filename: ex602.c @Author: @Version: 1.0 @Date: 2021-03-18 @Description: Pointer As Function Parameter */ int main(void){ void assign(int *array, int length); int max(int *array, int length); int a[5]; assign(a, 5); /* 为数组a元素赋值 */ printf("max=%d",max(a, 5)); /* 求数组元素最大值并输出 */ return 0; } /* * 函数名称:assign * 函数功能:通过键盘输入为一维数组元素赋值 * 形式参数:array为int型指针;length为int型,可用于表示一维数组长度 * 返 回 值:无 */ void assign(int *array,int length){ // 请编码实现assign函数 } /* * 函数名称:max * 函数功能:求解一维数组元素最大值 * 形式参数:array为int型指针;length为int型,可用于表示一维数组长度 * 返 回 值:int型,为数组元素最大值 */ int max(int *array,int length){ // 请编码实现max函数 } 注:在程序中不得使用全局变量。 【输入形式】 在assign函数中,从键盘输入整型数据为数组元素赋值,用逗号分隔 【输出形式】 在main函数中,输出数组元素最大值,为整型数据 【样例输入】 -9 28 76 45 34 【样例输出】 max=76 【样例说明】 样例输入和输出的效果如下图所示

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-05-26 09:03
    关注

    代码如下,如有帮助,请采纳一下,谢谢。

    #include <stdio.h>
    
    void assign(int *array,int length)
    {
    	printf("请输入数据:");
    	for (int i = 0; i < length; i++)
    	{
    		scanf("%d",&array[i]);
    	}
    }
    
    int max(int *array, int length)
    {
    	int tt = array[0];
    	for (int i= 1; i < length; i++)
    	{
    		if (array[i] > tt)
    		{
    			tt = array[i];
    		}
    	}
    	return tt;
    }
    
    int main()
    {
    	int a[5]; 
    	assign(a, 5); /* 为数组a元素赋值 */ 
    	printf("max=%d",max(a, 5)); /* 求数组元素最大值并输出 */ 
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊