添加(第一个和最后一个),(第二个和最后一个但是1个)等产品的数字

时间:2018-05-19 04:16:06

标签: c arrays loops

#include<stdio.h>

int main()
{
    int n;
    printf("Enter the size of array");
    scanf("%d",&n);
    int array[n-1];

    printf("Enter the elements of array");
    for(int i=0; i<n; i++)
        {
             scanf("%d",&array[i]);
        }

    int product = 0;

    for(int i=0; i<n; i++)
    {

这里我提出的条件是,当所有独特的产品都结束时,退出循环并打印输出。

        if(i>(n-1-i))
        {
            break;
        }
        int f = array[i];
        int l = array[n-i];

        product = product + (f*l);
    }
    printf("Result: %d",product);
    return 0;
}

对于{1,2,3,4,5,6,7,8,9,10}的数组,我得到的结果为4206199. Right Ans是110。

1 个答案:

答案 0 :(得分:1)

你的程序应该是这样的

#include <stdio.h>

int main(void)
{
    int n;
    printf("Enter the size of array: ");
    scanf("%d",&n);
    int array[n];           // Here it should be "n" not "n-1"

    printf("Enter the elements of array: ");
    for(int i=0; i<n; i++)
    {
        scanf("%d",&array[i]);
    }

    int product = 0;

    for(int i=0; i<n; i++)
    {
        if(i>(n-1-i))
        {
            break;
        }
        int f = array[i];
        int l = array[n-i-1];       // Here it should be n-i-1

        product = product + (f*l);
    }
    printf("Result: %d\n",product);
    return 0;
}