Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组的C打印元素_C_Arrays_Printf - Fatal编程技术网

数组的C打印元素

数组的C打印元素,c,arrays,printf,C,Arrays,Printf,好的,我有一个从用户那里得到的数组,然后我切换数组以降序显示数字(气泡排序) 现在我需要打印出新数组的第一个元素(第一个索引)和新数组的第二个索引。然后是两个最大数组数之和。 但我不知道为什么它不会显示号码。代码如下: #include <stdio.h> int main() { int array[100], n, c, d, swap, sum; printf("Enter number of horses\n");

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

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

    #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;
    }
#包括
int main()
{
整数数组[100],n,c,d,swap,sum;
printf(“输入马的数量”);
扫描频率(“%d”和“&n”);
printf(“输入%d马力\n”,n);
对于(c=0;c
您没有告诉大多数printfs期望参数。 e、 g

printf(“两个最大数字之和为:“+Sum”)

应该是


printf(“两个最大数字的总和为:%d\n”,总和)

printf
接受参数

你应该写的是

printf(“最大数字%d\n”,数组[0])

printf(“第二大数字%d\n”,数组[1])


printf(“两个最大数字的总和为:%d\n”,总和)

好的,我更改了,但仍然出现错误。我相信我在打印最大数字和第二大数字时遗漏了一些东西。不是错误。它在新数组之后打印出来:第四个最大的数字最大的数字是:按任意键继续。您必须进行一些调试。如果不知道
n
等的价值,其他人很难提供帮助。@RadLexus Good point-修复了第一个突出的问题,但错过了第二个问题。但现在已修复。这是我得到的,在新数组之后:est编号15405321和最大编号15405321两个最大编号是:15405321按任意键继续@伊万,这对帮助你的人有什么帮助?我们不知道您输入了什么数字,所以我们不知道这是否是预期的…@Ivan您似乎没有像本文中建议的那样使用printf更新所有语句。:)