一切困难都能打倒我 2022-11-15 19:11 采纳率: 92.9%
浏览 207
已结题

C语言指针练习程序求纠错

用指针实现,输入6个整数,把最小数与第1个数交换,最大数与最后1个数交换,其它数据不动。输入保证最大值和最小值唯一。请编写3个函数:(1)输入6个数;(2)进行处理函数;(2)输出6个数,每个数占3个宽度,左对齐。

运行无结果
求程序纠错

#include <stdio.h>
void inputdata(int *p);
void swapdata(int *p);
void printdata(int *p);
int main(){
    int a[6];  
    inputdata(a);
    swapdata(a);
    printdata(a);
    return 0;
}

void inputdata(int *p)
{  int i=0;
   for(i=0;i<6;i++)
       scanf("%d ",*p++);
}
void swapdata(int *p)
{  int i,x,d,min=*p,max=*(p+5),k;
   for(i=0;i<6;i++)
   {
   if(min>*(p+i))
      {min=*(p+i);x=i;}
   if(max<*(p+i))
      { max=*(p+i);d=i;}
   }
   k=*p;*p=min;*(p+x)=k;
   k=*(p+5);*(p+5)=max;*(p+d)=k;
}
void printdata(int *p)
{  int i;
  for(i=0;i<6;i++)
      printf("%3d",*p++);
}

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-11-15 23:56
    关注

    改动处见注释,供参考:

    #include <stdio.h>
    void inputdata(int *p);
    void swapdata(int  *p);
    void printdata(int *p);
    int main(){
        int a[6];
        inputdata(a);
        swapdata(a);
        printdata(a);
        return 0;
    }
    void inputdata(int *p)
    {
       int i=0;
       for(i=0;i<6;i++)
           scanf("%d", p++);
           //scanf("%d ",*p++);
    }
    void swapdata(int *p)
    {
       int i,x=0,d=0,min=*p,max=*p,k;//修改
       //int i,x,d,min=*p,max=*(p+5),k;
       for(i=0;i<6;i++)
       {
           if(min>*(p+i))
              {min=*(p+i);x=i;}
           if(max<*(p+i))
              {max=*(p+i);d=i;}
       }
       k=*p;*p=min;*(p+x)=k;
       if(d == 0) d = x;          //修改
       k=*(p+5);*(p+5)=max;*(p+d)=k;
    }
    void printdata(int *p)
    {
       int i;
       for(i=0;i<6;i++)
          printf("%3d",*p++);
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月16日
  • 已采纳回答 11月16日
  • 修改了问题 11月15日
  • 创建了问题 11月15日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看