论程序设计Test,PTA天梯赛的“L1-005 考试座位号”?

      这里仅仅提供Up的一个思路吧,本题的可塑性很强,解法多了去了d=====( ̄▽ ̄*)b

  • 使用了一个结构式数组,其实可以看成一个既有字符串和整数的三维数组。
  • 其实用long long的一个三维数组应该就能解决问题,但是如果把前后【】里数字的位置搞错了,后果不堪设想
  • getchar(); ”的使用对于“回车接%s”无疑是有了很大的帮助。要知道,%s可是连回车都能读的进去的。假使做两个输入,第二个输入是输入一个字符串,在前一个输入完成后敲击的回车键也会被%s直接读入,后果相当可怕!!!

附源码:

#include <stdio.h>

int main( int argc, char const *argv[] )
{
    struct sj {
	char zkh[20];
	int sj, kj;
    }num[1000];
    
    int n1, n2, i, j;
    int check[1000] = {0};
    
    scanf("%d", &n1);
    getchar();
    
    for ( i = 0 ; i < n1 ; i++ )
    {
        scanf("%s %d %d", num[i].zkh, &num[i].sj, &num[i].kj);
    }
	
    scanf("%d", &n2);
	
    for ( i = 0 ; i < n2 ; i++ )
    {
	scanf("%d", &check[i]);
    }
	
    for ( i = 0 ; i < n2 ; i++ )
    {
	for ( j = 0 ; j < n1 ; j++ )
	{
	    if ( num[j].sj == check[i] )
	    {
		printf("%s %d\n", num[j].zkh, num[j].kj);
	    }
	}
    }
	
    return 0;
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值