标签:led 表示 scan include else div 输入 注意 pre
5
1 3
2 4
3 5
4 6
5 6
6
1 3
2 4
3 5
4 6
5 7
6 7
You are my elder
You are my brother
题意描述:
输入关系数N(N<=10)和N种关系(其中a的父亲是b)(1<=a,b<=20)
计算并输出编号1和编号2的关系
解题思路:
用数组记录他们的关系,下标表示编号,该下标的数组中记录他的父亲
再分别以c1和c2为计数变量,用while()循环计数他们到祖宗的辈分数
比较c1和c2的大小,输出对应的关系即可
代码实现:
 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,c1,c2,i,m[21],a,b;
 5     while(scanf("%d",&n) != EOF)
 6     {
 7         for(i=0;i<=21;i++)
 8             m[i]=0;
 9         for(i=1;i<=n;i++)
10         {
11             scanf("%d%d",&a,&b);
12             m[a]=b;
13         }
14         
15         c1=0;
16         i=1;
17         while(m[i])
18         {
19             //printf("%d的父亲是%d\n",i,m[i]);
20             c1++;
21             i=m[i];
22         }
23         
24         c2=0;
25         i=2;
26         while(m[i])
27         {
28             //printf("%d的父亲是%d\n",i,m[i]);
29             c2++;
30             i=m[i];
31         }
32         
33         if(c2<c1)
34         printf("You are my elder\n");
35         else if(c2==c1)
36         printf("You are my brother\n");
37         else
38         printf("You are my younger\n");
39     }
40     return 0;
41 }
测试输入:
3
1 3
2 4
4 3
3
1 3
3 4
2 4
2
1 3
2 3
测试输出:
You are my younger
You are my elder
You are my brother
易错分析:
1、循环的时候注意连接部分的逻辑关系要弄清楚(比赛的时候耐心分析)
标签:led 表示 scan include else div 输入 注意 pre
原文地址:http://www.cnblogs.com/wenzhixin/p/7221412.html