设为首页 加入收藏

TOP

利用C语言找出直系亲属
2013-07-22 17:55:29 来源: 作者: 【 】 浏览:197
Tags:利用 语言 找出 直系亲属

  利用C语言找出直系亲属的源码我们可以参考如下方法:

  C语言源码:

  #include

  int main()

  {

  int n,m,i,T[26],a,b,num,j,k;

  char s ;

  scanf("%d %d",&n,&m);

  while(n||m)

  {

  for(i=0;i<26;i++)

  T[i]=-1;

  for(i=0;i

  {

  scanf("%s",s);

  if(s >='A'&&s <='Z')

  T[s -'A']=s[0]-'A';

  if(s >='A'&&s <='Z')

  T[s -'A']=s[0]-'A';

  }

  for(k=0;k

  {

  scanf("%s",s);

  a=s[0]-'A';

  b=s -'A';

  num=0;

  i=a;

  while(i!=b&&T[i]!=-1)

  {

  i=T[i];

  num++;

  }

  if(i==b)

  {

  if(num==1)

  printf("parent\n");

  else

  if(num==2)

  printf("grandparent\n");

  else

  {

  for(j=1;j<=num-2;j++)

  printf("great-");

  printf("grandparent\n");

  }

  }

  else

  {

  i=b;

  while(i!=a&&T[i]!=-1)

  {

  i=T[i];

  num++;

  }

  if(i==a)

  {

  if(num==1)

  printf("child\n");

  else

  if(num==2)

  printf("grandchild\n");

  else

  {

  for(j=1;j<=num-2;j++)

  printf("great-");

  printf("grandchild\n");

  }

  }

  else

  printf("-\n");

  }

  }

  scanf("%d %d",&n,&m);

  }

  }

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇编码风格 - 缩进和空白 下一篇日志模块的C语言实现

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: