gpt4 book ai didi

c - 将数组的元素从第一个元素交替到下一个元素并打印交替的数组

转载 作者:行者123 更新时间:2023-11-30 21:00:25 25 4
gpt4 key购买 nike

我被困在创建一个程序的任务中:

  1. 用户输入数组中 elemnet 的大小。
  2. 用户自己输入元素。
  3. 计算第一个元素+第二个元素的总和,然后是第一个元素+第二个元素+第三个元素等...
  4. 用新值替换数组并打印它。

例如:- 用户输入:[7,5,-8,3,4]- 输出:[7,12,4,7,11]

我的代码尝试执行此操作,但没有获得正确的结果,并且我认为我的数组算术有问题。有人可以帮忙吗?

前 4 位数字的输出遍布整个 map :12、-3、-5....

int main () {

int *arr;
int i, n;

printf("Please enter the size of the array : ");
scanf("%d", &n);

arr = (int*)malloc(n*sizeof(int));

for (i=0; i<n; i++)
{
printf("Please enter array values: ");
scanf("%d", &arr[i]);
}

printf("The alternated array is: \n");

for (i=0; i<n; i++)
printf("%d ", arr[i]+arr[i+1]);
}

最佳答案

现在您需要做的就是以下内容

int *arr2 = malloc( n * sizeof( int ) );

int sum = 0;
for ( i = 0; i < n; i++ )
{
sum += arr[i];
arr2[i] = sum;
}

等等。:)

填充第二个数组后,您可以按照与第一个数组相同的方式输出它。

至于这个循环

for (i=0; i<n; i++)
printf("%d ", arr[i]+arr[i+1]);

那就没有意义了

(

printf("The new array is: \n");

新数组在哪里?:))

此外,还尝试访问数组之外​​的内存。

在程序最后写入

free( arr );
free( arr2 );

考虑到您需要将程序拆分为函数。

关于c - 将数组的元素从第一个元素交替到下一个元素并打印交替的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41490433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com