Point-man 2021-12-28 21:34 采纳率: 100%
浏览 61
已结题

编写程序,用函数实现在一组给定的数据中,找出某个数字是否存在; 并在主函数中输入一个数组和某个数字调用hanshu函数,输出结果

#include<stdio.h>
int hanshu(int key, int num[], int len);
int main()
{
    int num[5], i, key;
    for (int i = 0; i < 5; i++)
    {
        scanf("%d", &num[i]);
    }
    scanf("%d", &key);
    if (hanshu(key, num, 5) > 0printf("存在");
    else
 printf("不存在");
int hanshu(int key, int num[], int len)
{
    for (int i = 0; i < len; i++)
    {
        if (num[i] == key)
        {
            return 1;
        }
    }
    return 0;
}

可以帮我解读一下这段程序

  • 写回答

2条回答 默认 最新

  • 关注

    代码有错误,已经修改,已经添加了注释,如下:

    #include<stdio.h>
    int hanshu(int key, int num[], int len);
    int main()
    {
        int num[5], i, key;
        for (int i = 0; i < 5; i++)  //循环读取5个数,存入num数组
        {
            scanf("%d", &num[i]);
        }
        scanf("%d", &key); //读取需要查找的数,用key保存
        if( hanshu(key,num,5) >= 0) //调用hanshu查找key是否在num数组中
            printf("存在");
        else
            printf("不存在");
        return 0;
    }
        int hanshu(int key, int num[], int len)
        {
            for (int i = 0; i < len; i++) //循环遍历数组
            {
                if (num[i] == key) //如果num[i]等于key,说明找到
                {
                    return i;//返回下标
                }
            }
            return -1; //这里返回-1,表示未找到,因为数组下标从0开始,所以这里最好返回-1
        }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 创建了问题 12月28日

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题