编程介的小学生 2019-03-17 22:33 采纳率: 20.5%
浏览 993

找出输入数组最小的数,将它与最前面的数交换后输出用C语言的办法实现

Problem Description
输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。

Input
输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。

Output
对于每组输入数据,输出交换后的数列,每组输出占一行。

Sample Input
4 2 1 3 4
5 5 4 3 2 1
0

Sample Output
1 2 3 4
1 4 3 2 5

  • 写回答

2条回答 默认 最新

  • qq_41968547 2019-03-18 20:14
    关注

    #include

    int main()
    {
    int n;
    while(scanf("%d",&n )&&n!=0)
    {
    int a[100];
    scanf("%d",&a[0]);
    int temp=a[0];
    int index=0;//最小值的下标
    for(int i=1;i {
    scanf("%d",&a[i]);
    if(temp>a[i])
    {
    temp=a[i];
    index=i;

    }

      }
    
      temp=a[0];
      a[0]=a[index];
      a[index]=temp;
    
      for(int i=0;i<n;i++)
        printf("%d ",a[i]);
      printf("\n");
    
    } 
    return 0;
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题