好难啊,不会啊,有没有家人会写的,教教我吧

img

img

首先将数据存入数组,然后检索数组,找到连续三个元素是0,0,161,且后续第四个元素是255的情况,如果满足,则输出161后面的三个元素,如果不满足,继续向后检索

#include <stdio.h>
int main()
{
      int a[20],i=0;
      int n = 0;
      while(n<20)
      {
          scanf("%d",&a[n]);
          if(a[n] == -1)
              break;
          n++;
      }
      if(n<7)
           printf("NO DATA");
      else
      {
            for(i=0;i<=n-7;i++)
            {
                if(a[i] == 0 && a[i+1] == 0 && a[i+2] == 161] && a[i+6] == 255)
                {
                      printf("DATA:%d %d %d",a[i+3],a[i+4],a[i+5]);
                      break;
                }
            }
            if(i>n-7)
                    printf("NO DATA");
      }
      return 0;
}

for (i = 0; i < 数组长度-6; i--)
if (a[i]==0 && a[i+1]==0 &&a[i+2]==161 &&a[i+6]==255)
输出a[i+3],a[i+4],a[i+5]

你题目的解答代码如下:

#include <stdio.h>
int main()
{
    int a[21],n,j=0,i;
    scanf("%d",&n);
    while(n!=-1)
    {
        a[j++] = n;
        scanf("%d",&n);
    }
    for(i=0;i<j-6;i++)
        if(a[i] == 0 && a[i+1] == 0 && a[i+2] == 161 && a[i+6] == 255)
        {
            printf("DATA:%d %d %d",a[i+3],a[i+4],a[i+5]);
            break;
        }
    if(i>=j-6)
        printf("NO DATA");
    return 0;
}

如有帮助,望采纳!谢谢!