用c语言人工检票很麻烦,现在有一部新的电影《阿凡达 2》上映了,观影情况过于火爆,现 在要求你写一个程序帮助电影院解决这个问题(程序中要求有一个验票函数`int Check()`,若号码有效则返回 1,无效返回 0).假设放出的 10 张电影票编号为: 20220,20221,20222,20223,20224,20225,20226,20227,20228,20229, 如果第一次输入上述的电影票号,则输出 "您可以入场了\n" ; 如果不是第一次输入上述电影票号,或输入的电影票号不在上述放出的电影票中, 则输出"凭证无效\n" 注意:验证数据会多次输入电影票号,输入 0 表示验票结束。 Input 一个电影票号一行,会输入多行,输入 0 时结束 Output 根据输入的电影票号输出"您可以入场了\n"或"凭证无效\n
时间: 2023-02-07 19:03:03 浏览: 58
这是一个简单的程序,您可以用 C 语言写出如下的代码来解决这个问题:
#include <stdio.h>
#define NUM_TICKETS 10
#define TICKET_IDS {20220, 20221, 20222, 20223, 20224, 20225, 20226, 20227, 20228, 20229}
int tickets[NUM_TICKETS] = TICKET_IDS;
int checked_tickets[NUM_TICKETS] = {0}; // 已经检查过的电影票
int Check(int ticket_id)
{
for (int i = 0; i < NUM_TICKETS; i++)
{
if (tickets[i] == ticket_id && checked_tickets[i] == 0)
{
checked_tickets[i] = 1;
return 1;
}
}
return 0;
}
int main()
{
int ticket_id;
while (1)
{
printf("请输入电影票号:");
scanf("%d", &ticket_id);
if (ticket_id == 0)
{
break;
}
if (Check(ticket_id))
{
printf("您可以入场了\n");
}
else
{
printf("凭证无效\n");
}
}
return 0;
}