TuckerMocun 2022-06-04 16:40 采纳率: 100%
浏览 30
已结题

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

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

  • 写回答

1条回答 默认 最新

  • a5156520 2022-06-04 19:53
    关注

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

    
    #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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月12日
  • 已采纳回答 6月4日
  • 创建了问题 6月4日

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)