C语言编程!寻求 帮助 急急~谢谢

2.编程题2
编程要求:请按题中的功能要求,编写程序并能得到正确的结果。
程序功能:按示例格式完成以下要求。
(1) 连续输入整数直至-1,整数保存在数组中,设整数个数不超过20个。
(2) 判断数组中是否存在"0 0 161 x y z 255"样式的数字子串。
(3) 如果存在,输出x、y和z的值,如果不存在输出"NO DATA"。
运行示例1:
输入:0 0 161 36 55 164 255 -1
输出:DATA:36 55 164
运行示例2:
输入:0 0 161 0 0 161 164 55 36 255 0 -1
输出:DATA:164 55 36
运行示例3:
输入:0 78 0 0 161 55 164 36 250 255 -1
输出:NO DATA

#include <stdio.h>

inline bool compare(int* pArr)
{
return pArr[0] == 0 && pArr[1] == 0 && pArr[2] == 161 && pArr[6] == 255;
}

void main()
{
int i = 0,temp = 0;
int arr[20];
printf_s("请输入数据:\n");
while(i < 20 && temp != -1)
{
scanf_s("%d", &temp);
arr[i++] = temp;
}
int count = i;
i = 0;
if(count > 7)
{
while(i <= count - 7)
{
if(compare(arr + i++))
{
printf_s("DATA: %d, %d, %d\n", arr[i + 2], arr[i + 3], arr[i + 4]);
return;
}
}
}
printf_s("NO DATA!\n");
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜