c语言编程中的疑惑和困难

请问整形数组的长度是什么意思?该怎样定义整形数组?以及如何用已定义的整形数组解决实际问题?
比如以下实例:

  1. 定义一个整型数组list,长度为600.
  2. 用循环语句查找并输出 10 ~ 1000 范围内某数位为7或者各数位之和为7的数(如:124、17、792)。
  3. 输出的每个数据域宽为 6,左对齐,每行最多输出 8 个数据。
  4. 将符合条件的数存储到数组list中;并将list中未使用的元素赋值为其数组序号值。
  5. 输出完成后,在新的一行输出满足条件的数据个数。

int list[600];就是定义int 长度为600的数组,可以看看下边的结果符合不符合

img

#include <stdio.h>
int main() {
  int list[600];
  int count = 0;
  int i, j;
  
   for (i = 10; i <= 1000; i++) {
      int flag=0;
    int n = i;
    int sum = 0;
    while (n > 0) {
      sum += n % 10;
      if (n % 10 == 7) {
        list[count] = i;
        count++;
        flag=1;
        break;
      }
      n /= 10;
    }
    if(flag==0){
        if (sum == 7) {
      list[count] = i;
      count++;
    }
    }
  
  }
  
   printf("符合条件的数有:\n");
  for (i = 0; i < count; i++) {
    printf("%-6d", list[i]);
    if ((i + 1) % 8 == 0) {
      printf("\n");
    }
  }
  if (count % 8 != 0) {
    printf("\n");
  }
  
   for (j = count; j < 600; j++) {
    list[j] = j;
  }
  
   printf("符合条件的数据个数为:%d\n", count);
  
  return 0;
}