C阵列的打印元素

时间:2016-11-14 00:01:34

标签: c arrays printf

好的,所以我有一个从用户那里获得的数组,然后我切换数组以降序显示数字(冒泡排序)。

现在我需要打印出新数组的第一个元素(第一个索引)和新数组的第二个索引。然后是两个最大数组的总和。 但我不知道为什么它不显示数字。这是代码:

    #include <stdio.h>

    int main()
    {
        int array[100], n, c, d, swap, sum;

        printf("Enter number of horses\n");
        scanf_s("%d", &n);

        printf("Enter %d horse powers\n", n);

        for (c = 0; c < n; c++)
            scanf_s("%d", &array[c]);


        //This switches the array to show descending order numbers
        for (c = 0; c < (n - 1); c++)
        {
            for (d = 0; d < n - c - 1; d++)
            {
                if (array[d] < array[d + 1]) 
                {
                    swap = array[d];
                    array[d] = array[d + 1];
                    array[d + 1] = swap;
                }
            }
        }

        printf("This is the new array descending:\n");
        for (c = 0; c < n; c++){
            printf("%d\n", array[c]);
        }
        //Help here 
        printf("Biggest number" + array[0]);
        printf("Second biggest number" + array[1]);

        sum = array[0] + array[1];
        printf("Sum of two biggest numbers is: " + sum);

        return 0;
    }

2 个答案:

答案 0 :(得分:1)

你还没有告诉大多数printfs期待一个争论。 e.g。

printf("Sum of two biggest numbers is: " + sum);

应该是

printf("Sum of two biggest numbers is: %d\n", sum);

答案 1 :(得分:0)

printf接受争论。

你应该写的是

printf("Biggest number %d\n", array[0]);

printf("Second biggest number %d\n", array[1]);

printf("Sum of two biggest numbers is: %d\n", sum);