计算数组和 #包括 #包括 内部主(空){ 国际货币基金组织,项目[50];/,总额; printf(“输入膳食/零食数量:”); scanf(“%d”和“numofedine”); 对于(inti=1;i

计算数组和 #包括 #包括 内部主(空){ 国际货币基金组织,项目[50];/,总额; printf(“输入膳食/零食数量:”); scanf(“%d”和“numofedine”); 对于(inti=1;i,c,C,1) 您应该从0运行循环到numofemine-1,因为数组索引从0开始,而不是从1开始。如果您正在访问第n个元素,则这是一个分段错误 二, 代码中的第二个问题是没有在数组中获取输入值。循环会一次又一次地覆盖数组中的最后一个元素items[numofine] 按如下方式编写代码: #include <stdio.h> #include <stdlib.h> int main(void) { int numOfMeal, items[50];//, sum; pri

1)

您应该从0运行循环到
numofemine
-1,因为数组索引从0开始,而不是从1开始。如果您正在访问第n个元素,则这是一个分段错误

二,

代码中的第二个问题是没有在数组中获取输入值。循环会一次又一次地覆盖数组中的最后一个元素
items[numofine]

按如下方式编写代码:

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

int main(void) {

int numOfMeal, items[50];//, sum;

 printf("Enter number of meals/snacks: ");
 scanf("%d",&numOfMeal);

 for(int i=1; i<=numOfMeal;i++)
 {
  printf("Enter kilojoules for item %d: ", i);
  scanf("%d", &items[numOfMeal]);

  }
  printf("Your total kilojoules are: %d", items[numOfMeal]);




 return EXIT_SUCCESS;
 }
int numofedin,项目[50],总和=0;
printf(“输入膳食/零食数量:”);
scanf(“%d”和“numofedine”);

for(int i=0;i1)将
for
循环更改为
for
循环。数组的索引从0开始。将
i=1
更改为
i=0
i您的代码只是将输入放入数组中,值没有求和。您知道如何在C中添加变量吗?您是否参加了讲座;-)数组索引从0开始,而不是从1开始。提示:在其他问题中:这里有一个非常明显的问题
scanf(“%d”,&items[numofedine]);
-进入(不存在)数组中最后一个元素之外的元素,也就是说。如果没有一些解释,这个答案可能是正确的,但并没有真正的帮助。实际上,这是一个非常基本的程序,任何人都可以通过阅读和试运行来理解它。几乎不需要一分钟:)那么这个问题就不会被问到是否对OP来说那么简单了。我已经编辑了answer、 请检查它,如果它现在包含解释。这是一个非常好的编辑。一个小提示,你可以通过在`中包含它来标记代码的变量/引用,然后它看起来像
这个
 int numOfMeal, items[50],sum=0;

 printf("Enter number of meals/snacks: ");
 scanf("%d",&numOfMeal);

 for(int i=0; i<numOfMeal;i++) // run loop from 0 to numOfMeal-1
 {
      printf("Enter kilojoules for item %d: ", i);
      scanf("%d", &items[i]); // take the input at ith position in the array 
      sum+=items[i];  // sum them

 }
  printf("Your total kilojoules are: %d", sum);  // print the final result
 int numOfMeal, item, sum=0;
 scanf("%d",&numOfMeal);
 for(int i=0; i<numOfMeal;i++){
      scanf("%d", &item);
      sum+=item;
 }
 printf("Your total kilojoules are: %d", sum);
...
int result = 0;
for (int i = 0; i < numOfMeal; i++)
{
    ...
    result += items[i];
}
printf("Your total kilojoules are: %d", result);
...