区分旅客国籍

本文介绍了一个使用C语言编写的程序,该程序通过定义一个特殊矩阵来模拟某种决策过程,并最终输出每个元素的来源。程序中涉及了二维数组的操作、条件判断及循环控制等基本编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

  1 #include <stdio.h>
  2 
  3 char *m[7] = {"","US","UK","FRANCE","GER","ITALY","EUSSIAN"};
  4 
  5 int main()
  6 {
  7     int i;
  8     int j;
  9     int k;
 10     int n;
 11     int t;
 12     int e;
 13     int x;
 14     int y;
 15     int a[7][7];
 16 
 17     char b;
 18 
 19     for(i = 0 ; i < 7 ; i++)
 20     {
 21         for(j = 0 ; j < 7 ; j++)
 22         {
 23             a[i][j] = j;
 24         }
 25     }
 26 
 27     for(i = 1 ; i< 7 ; i++)
 28     {
 29         a[0][i] = 1;
 30     }
 31 
 32     a[1][1] = a[2][1] = a[3][1] = a[5][1] = 0;
 33     a[1][3] = a[2][3] = a[3][3] = 0;
 34     a[1][4] = a[2][4] = a[3][4] = a[5][4] = a[6][4] = 0;
 35     a[3][5] = 0;
 36     a[1][6] = a[3][6] = a[5][6] = 0;
 37 
 38     while(a[0][1] + a[0][2] + a[0][3] + a[0][4] + a[0][5] + a[0][6] > 0)
 39     {
 40         for(i = 1 ; i < 7 ; i++)
 41         {
 42             if(a[0][i])
 43             {
 44                 for(e = 0,j = 1 ; j < 7 ; j++)
 45                 {
 46                     if(a[j][i])
 47                     {
 48                         x = j;
 49                         y = i;
 50                         e++;
 51                     }
 52                 }
 53 
 54                 if(e == 1)
 55                 {
 56                     for(t = 1 ; t < 7 ; t++)
 57                     {
 58                         if(t != i)
 59                         {
 60                             a[x][t] = 0;
 61                         }
 62                     }
 63 
 64                     a[0][y] = 0;
 65                 }
 66             }
 67         }
 68     }
 69 
 70     for(i = 1 ; i < 7 ; i++)
 71     {
 72         printf("%c is coming from : ",'A' - 1 + i);
 73 
 74         for(j = 1 ; j< 7 ; j++)
 75         {
 76             if(a[i][j] != 0)
 77             {
 78                 printf("%s. \n",m[a[i][j]]);
 79 
 80                 break;
 81             }
 82         }
 83     }
 84 
 85     return 0;
 86 }
 87 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值