天梯赛L1-005考试座位号 c语言(利用链表并解决存入准考证号int类型越界问题)

天梯赛L1-005考试座位号 c语言(利用链表并解决存入准考证号int类型越界问题)


话不多说上图片

建议先学会链表

下面开始上代码

#include<stdio.h>
typedef struct Link
{
    char a[17];			//存准考证
    int b;						//存试机座位号
    int c;						//存考试座位号
    struct Link *next;
}Link;
void create_link(Link* head,int num);
void find_link(Link *head,int num);
int main()
{
    int num,i,j,x[1000];
    Link* head=NULL;
    head=(Link* )malloc(sizeof(Link));
    scanf("%d",&num);			//输入有几个人
    create_link(head,num);	//建立一个链表~
    scanf("%d",&num);    
    for(i=0;i<num;i++){
        scanf("%d",&x[i]);	//输入查询的准考证
    }
    for(i=0;i<num;i++)
    find_link(head,x[i]);				//开始依次找寻
}
void create_link(Link* head,int num)
{
    int i,j;
    Link *p,*pr;
    p=head;
    for (i=0;i<num;i++)
    {
        pr=(Link* )malloc(sizeof(Link));
        p->next=pr;
        getchar();
        for(j=0;j<16;j++)
        {
            scanf("%c",&p->a[j]);		//输入准考证(为什么用char呢?因为int类型范围不够哦)
        }
        scanf(" %d %d",&p->b,&p->c);			//输入试机座位号和考试座位号
        p=pr;
    }
    p->next=NULL;
}
void find_link(Link *head,int num)
{
    Link* p;int i;
    p=head;
    while(p!=NULL)
    {
        if(p->b==num)
        {
            for(i=0;i<16;i++)
            {
                printf("%c",p->a[i]);
            }
            printf(" %d\n",p->c);
            break;
        }
        p=p->next;
    }
}

本码员只是大一生哦,不足或者可以优化的地方希望各位大佬指正!(鞠躬)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值