Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        3年前关闭。
                                                                                            
                
        
因此,我必须创建一个执行此操作的程序:根据需要输入0至100个数字,可以在需要时停止输入数字,打印出所有输入的数字。到目前为止,我已经把这一部分讲完了。现在,我必须添加最高点,最低点。和平均功能。我添加了一个部分以显示输入的最高数字,并且该过程一直进行到“数组中的元素”变为两位数,然后返回错误的结果。在确定这一部分之前,我不希望进一步。有什么帮助吗?

#include <stdio.h>

int main()
{
  int array[100], maximum, size, c;
  char continueResponse;
  int entryCount = 0;
  printf("Enter the number of elements in array\n");
  scanf("%d", &size);

  for(c = 0; c < size; c++) {
    printf("Enter a number between 0 and 100: ");
    scanf("%d", &array[c]);
    printf("Continue? (y/n): ");
    scanf(" %c", &continueResponse);
    entryCount++;

    if(continueResponse == 'n' || continueResponse == 'N') {
      printf(" == End of Data Entry ==\n\n");
      break;
    }
}

for(c = 0; c < entryCount; c++) {
  printf ("You entered : %d\n", array[c]);
}

maximum = array[0];
for (c = 1; c < size; c++)
{
  if (array[c] > maximum)
  {
    maximum  = array[c];
  }
}

printf("Largest number is %d.\n", maximum);
return 0;


}

最佳答案

您有两个变量持有不同的信息。 size是用户说他要输入的数字,但实际上他可以输入的数字更少。输入的实际数字为entryCount。因此,当您计算最大值时,您应该只达到entryCount。数组中的其他索引可能包含垃圾。

08-16 19:51