m0_63366309 2022-04-30 14:27 采纳率: 61.5%
浏览 226
已结题

编写递归函数,求数组元素的最大值。

问题遇到的现象和发生背景

数组为整型数组。主函数中输入数组元素,以-9999为结束符,-9999不会是数组的元素。数组元素个数不超过100。 输入:若干整数,以空格或换行隔开,以-9999结束。-9999不是数组元素

问题相关代码,请勿粘贴截图
#include <stdio.h>
int f(int a[],int n){  
    int max = a[0];
    for(int k=1;k<n;k++){
        if(a[k]>max){
            max = a[k];
        }
    }
    return max;
}
int    main()
{
    int a[200];int i=0,j=0; 
    while(1){
        scanf("%d",&a[i++]);
        char c=getchar();
        j++;
        if(c=='\n'){
            break;
        }
   }
    printf("%d", f(a, j-1));
    return 0;
}

运行结果及报错内容

#编程语言: C
状态帮助,状态 (新窗口): 多个状态
评测时间: 2022年04月 30日 星期六 14:17 (14 秒之前)
信息: 用例1: 运行超时(此程序运行得太久了。)
用例2: 运行超时(此程序运行得太久了。)
用例3: 运行超时(此程序运行得太久了。)
用例4: 运行超时(此程序运行得太久了。)
用例5: Accepted
用例6: 运行超时(此程序运行得太久了。)
统计: 编译错误: 2
多个状态: 3
成功率: 0%
输出: testcase 0:
testcase 1:
testcase 2:
testcase 3:
testcase 4: 1567854
testcase 5:
自己在devC++上运行没问题,提交到moodle上显示这样

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

4条回答 默认 最新

  • wander303 2022-04-30 14:49
    关注

    写一个可以实现你要的功能行吗?没看懂你题目的意思

    #include <stdio.h>
    int GetMax(int *arry,int len);
    int main()
    {
        int a[101]={0},num=1;
        while(a[num-1]!=-9999)
        {
            scanf("%d",&a[num]);
            num++;
        }
        printf("Max=%d",GetMax(a+1,num-1));
        return 0;
    }
    
    int GetMax(int *arry,int len)
    {
        int i,max;
        max=arry[0];
        for(i=1;i<len;i++)
            if(max<arry[i])
                max=arry[i];
        return max;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月8日
  • 已采纳回答 4月30日
  • 创建了问题 4月30日

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?