关于结构数组的问题,如何解决?

1.改写8:10 hangzhou 60 100 9:00 hangzhou 70 200 9:00 beijing 240 80,定义一个汽车班次信息结构体类型,包括发车时间、终点站、行车时间和已定票人数,输入n个汽车班次信息,输入某个终点地点a_name(如hangzhou), 在main主函数中统计出一天中发往目的地a_name的总车次数。

一个简单的实现,不知道是不是满足你的要求,代码如下:


#include <stdio.h>
#include <string.h>
#define N 3  //设置最多获取几趟列车信息,默认是3,可以自己修改 
struct train {//定义列车行车信息结构 
    char time[10];  //简单用一个字符数组存储 发车时间 
    char  terminus[20];  //终点站 
    float travletime;  //行车时间 
    int bookings;   //订票人数 
    
};

int main(void){
    
    struct train ts[N];  //定义存放列车信息的结构数组 
    int i=0;
    while(i<N){  //获取N个列车信息 
        printf("请输入第%d个列车行车信息(发车时间,终点站,行车时间,已订票人数):\n",i+1);
        scanf("%s%s%f%d",ts[i].time,ts[i].terminus,&ts[i].travletime,&ts[i].bookings);
        i++; 
    } 
    
    char a_name[20];  //用于存放要查询总车次数的重点站名称 
    printf("请输入要查询的总车次数的终点站名称:");
    scanf("%s",a_name);  //获取要查询的终点站的名称输入到字符数组 
    i=0;
    int num=0;
    while(i<N){  //遍历整个结构数组,寻找目标终点站的总车次数 
        //printf("-1\n");
        if(strcmp(ts[i].terminus,a_name)==0){   // 如果找到目标终点站,则将总车次数+1 
        //    printf("0\n");
            num++;
        }
        i++;
    }
    
//    printf("1\n");
//打印结果 
    printf("一天中发往终点站%s的总车次数是%d趟。\n",a_name,num);
    
    return 0;
    
} 

img