zoukankan      html  css  js  c++  java
  • 实验7-1-12 组个最小数

    题目一开始没看懂

    #include <stdio.h>
    //数组选择排序
    void sortArray(int array[], int length)
    {
        int index, temp;
        
        for (int i = 0; i < length - 1; i++)
        {
            index = i;
            for (int j = i + 1; j < length; j ++)
            {
                if (array[j] < array[index])
                {
                    index = j;
                }
            }
            if (i != index)
            {
                temp = array[i];
                array[i] = array[index];
                array[index] = temp;
            }
        }
    }
    //返回第一个非零元素的索引
    int indexInArray(int array[], int length)
    {
        int index = 0;
        
        for (int i = 0; i < length; i++)
        {
            if (array[i] != 0)
            {
                index = i;
                break;
            }
        }
        
        return index;
    }
    //交换
    void swap(int *a, int *b)
    {
        int temp;
        
        temp = *a;
        *a = *b;
        *b = temp;
    }
    int main(void)
    {
        int array[50];      //保存有效数字
        int i, index;
        int count, length;
        
        length = 0;     //有效数字的个数
        //将有效数字保存在数组中
        for (i = 0; i < 10; i++)
        {
            scanf("%d", &count);
            while (count > 0)
            {
                array[length] = i;
                length++;
                count--;
            }
        }
        
        sortArray(array, length);
        
        index = indexInArray(array, length);
        if (index != 0)
        {
            swap(&array[0], &array[index]);
        }
        
        for (i = 0; i < length; i++)
        {
            printf("%d", array[i]);
        }
        printf("
    ");
        
        return 0;
    }
    
    
  • 相关阅读:
    预处理命令
    函数
    结构体
    字符数组
    数组
    文件
    用 typedef 定义类型
    枚举类型
    联合
    位运算
  • 原文地址:https://www.cnblogs.com/2018jason/p/13141103.html
Copyright © 2011-2022 走看看