gpt4 book ai didi

c - 如何制作数组 1*x 并对它的数字求和?

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

所以我遇到了这类问题。如何制作一个数组 1*x,然后将其数字相加。我暂时写下了这样的东西。有任何想法吗?谢谢。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[])
{
int a,i,w,j,m;
int s[a];
printf("How many digits do you want to sum up\n");
scanf("%d",&a);
for(i=0;i<a;i++)
{

printf("Enter numer %d: ",i);
scanf("%d",&s[i]);



}
for(j=0;j<a;j++)
{
m=s[j]+s[j++];
}
printf("\n %d",m);

return 0;
}

最佳答案

您的代码存在的问题是:

             int a;
int s[a];

这里a未初始化。因此,数组大小未知,这是不正确的。并且,而不是这个

             m=s[j]+s[j++];

你应该这样做:

             m  += s[j]; 

还有一件事,在开始添加之前,您必须初始化m = 0

我已将您的程序更改为:

  #include <stdio.h> 

int main(int argc, char *argv[]) {

int a,i,m = 0;

//First get the array size
printf("How many digits do you want to sum up\n");
scanf("%d",&a);

//Then declare the array with the size (a)
int s[a];

for(i = 0; i < a; i++){

printf("Enter numer %d: ",i);
scanf("%d",&s[i]);
m += s[i];
}

printf("\n %d",m);

return 0;
}

关于c - 如何制作数组 1*x 并对它的数字求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23383873/

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