首先将数据存入数组,然后检索数组,找到连续三个元素是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;
}
如有帮助,望采纳!谢谢!