#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。
答案 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;
}