kid_0203 2015-11-20 17:25 采纳率: 50%
浏览 3041
已采纳

c语言从键盘上输入10个数,找到最小数,输出与其相邻的数。

从键盘上输入10个数,找到最小数,输出与其相邻的数。

 #include<stdio.h>
void min(double a[10])
{int i,index;
double min=a[0];
for(i=0;i<10;i++)
if(min<a[0]){min=a[i];
index=i;}
printf("%f &f",a[index-1],a[index+1]);
}
void main()            
{double a[10];
for(int i=0;i<10;i++)
scanf("%lf",&a[i]);
min(a);    
}

为啥无法输出结果?
main.c:8:Bounds error: attempt to reference an illegal pointer.
main.c:8: Pointer value: 0xbef8ed98

  • 写回答

3条回答 默认 最新

  • havedream_one 2015-11-20 23:58
    关注
     #include<stdio.h>
    void min(double *a)
    {
    
        int i;
        //注意这里index赋初值
        int index = 0;
        double min = a[0];
        for(i=0;i<10;i++)
            if(min<a[0]){
                min=a[i];
                index=i;
            }
        //判断边界
        if(index == 0){
            printf("%lf",a[index+1]);
        }else if(index == 9){
            printf("%lf",a[index-1]);
        }else{
            printf("%lf %lf",a[index-1],a[index+1]);
        }
    }
    void main()            
    {
        double a[10];
        int i ;
        for(i=0;i<10;i++)
            scanf("%lf",&a[i]);
    
        min(a);    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器