C语言 家谱问题

栏目:资讯发布:2023-09-22浏览:2收藏

C语言 家谱问题,第1张

#include<stdioh>

#include<stringh>

char w[5][20]={{"child"},{"parent"},{"sibling"},{"descendant"},{"ancestor"}};

    int kong(char a[]) {

    int n=0,i;

    for(i=0;a[i]!='\0';i++) {

    if(a[i]==' ')

    n++;

    else

    break;

    }

    return n;

}

char fam[200][20];

int num[200]={0};

int search(char a[],int n) {

    int i=1;

    while(1) {

    if(!strcmp(a,fam[i]))

    return i;

    i++;

    }

    return 0;

}

int search1(int n,int x) {

    int i=1;

    while(i<x) {

    if(num[i]==n)

    return i;

    i++;

    }

    return 0;

}

char name[1000],word[1000],n1[100],n2[100],d[100];

int main() {

    int n,m,i,j,a,b,t,x,k,h;

    while(scanf("%d%d",&n,&m)!=EOF) {

        memset(fam,'\0',sizeof(fam));

        memset(num,'\0',sizeof(num));

        scanf("%s",fam[1]);

        getchar();

        a=b=2;

        t=1;

        num[1]=1;

    for(i=2;i<=n;i++) {

        memset(name,'\0',sizeof(name));

        gets(name);

        b=kong(name);

        if(b>a) {

            if(fam[search1(t2+1,i)][0]!='\0')

                t=t2+1;

            else 

                t=t2;

        }

        else { if(b<a) {

            h=(a-b)/2;

            while(h>=1) {

                t=t/2;

                h--;

            }

        }}

    if(fam[search1(t2,i)][0]!='\0')

    x=t2+1;

    else x=t2;

    num[i]=x;

    for(j=b;name[j]!='\0';j++)

    fam[i][j-b]=name[j];

    a=b;

    }

    for(i=0;i<m;i++) {

    gets(word);

    k=0;h=0;

    memset(n1,'\0',sizeof(n1));

    memset(n2,'\0',sizeof(n2));

    memset(d,'\0',sizeof(d));

    for(j=0;word[j]!='\0';j++) {

    if(word[j]==' ') {

    k++;

    h=0;

    continue;

    }

    if(k==0)

    n1[j]=word[j];

    if(k==5) {

    n2[h]=word[j];

    h++;

    }

    if(k==3) {

    d[h]=word[j];

    h++;

    }

    }

    if(!strcmp(d,w[0])) {

    a=search(n1,n);a=num[a];

    b=search(n2,n);b=num[b];

    if(a==b2||a==(b2+1))

    printf("True\n");

    else printf("False\n");

    continue;

    }

    if(!strcmp(d,w[1])) {

    a=search(n1,n);a=num[a];

    b=search(n2,n);b=num[b];

    if(b==a2||b==(a2+1))

    printf("True\n");

    else printf("False\n");

    continue;

    }

    if(!strcmp(d,w[2])) {

    a=search(n1,n);a=num[a];

    b=search(n2,n);b=num[b];

    if((a==b+1&&a==b/22+1)||(a==b-1&&b==a/22+1))

    printf("True\n");

    else printf("False\n");

    continue;

    }

    if(!strcmp(d,w[3])) {

    a=search(n1,n);a=num[a];

    b=search(n2,n);b=num[b];

    while(a>0) {

    a=a/2;

    if(a==b) {

    printf("True\n");

    break;

    }

    if(a==0)

    printf("False\n");

    }

    continue;

    }

    if(!strcmp(d,w[4])) {

    a=search(n1,n);a=num[a];

    b=search(n2,n);b=num[b];

    while(b>0) {

    b=b/2;

    if(a==b) {

    printf("True\n");

    break;

    }

    if(b==0)

    printf("False\n");

    }

    continue;

    }

    }

    }

    return 0;

}

听说回答的够长能够自动采纳

  (1)威塞克斯王朝

  House of Wessex

  埃格伯特 King Egbert

  埃塞尔沃夫 King Aethelwulf

  埃塞尔巴德 King Aethelbald

  埃塞尔伯特 King Aethelbert

  埃塞尔雷德一世 King Aethelred I

  阿尔弗雷德大帝 King Alfred the Great

  爱德华一世 King Edward I the Elder "长王"

  埃塞尔斯坦 King Athelstan

  埃德蒙一世 King Edmund I

  埃德雷德 King Eadred

  埃德威格 King Eadwig (Edwy)

  埃德加 King Edgar the Peaceable "和平王"

  爱德华二世 King Edward II the Martyr "殉教王"

  埃塞尔雷德二世 King Aethelred II the Unready "无头脑者"

  埃德蒙二世 King Edmund II the Ironside "铁甲王"

  (2)丹麦王朝

  Danish Line

  克努特大帝 Canute I the Great(丹麦文作Knud den Store)

  哈罗德一世(哈拉尔) Harald I, Harefoot "兔足王"

  克努特二世(哈德克努特) Canute II, Hardicanute/Hardeknud

  (3)威塞克斯王朝

  House of Wessex

  爱德华三世 King Edward III the Confessor "忏悔王"

  哈罗德二世 Harold Goldwin

  2,英格兰君主[1066--1603]

  (1)诺曼王朝

  House of Norman

  1066-1087 威廉一世 King William I the Conqueror

  1087-1100 威廉二世 King William II Rufus "红毛王"

  1100-1135 亨利一世 King Henry I Well-Educated, Beauclerc "儒雅王"

  1135-1154 斯蒂芬 King Stephen (布卢瓦王朝)

  (2)安茹王朝

  House of Anjou

  1154-1189 亨利二世 King Henry II Curtmantle "短斗篷王"

  1189-1199 理查一世 King Richard I Coeur de Lion "狮心王"

  1199-1216 约翰 King John Lackland "无地王"

  (3)金雀花王朝

  House of Plantagenet

  1216-1272 亨利三世 King Henry III

  1272-1307 爱德华一世 King Edward

  I Long Shank "长脚王"

  1307-1327 爱德华二世 King Edward II

  1327-1377 爱德华三世 King Edward III

  1377-1399 理查二世 King Richard II

  (4)兰开斯特王朝

  House of Lancaster

  1399-1413 亨利四世 King Henry IV

  1413-1422 亨利五世 King Henry V

  1422-1461, 1470-1471 亨利六世 King Henry VI

  (5)约克王朝

  House of York

  1461-1483 爱德华四世 King Edward IV

  1483 爱德华五世 King Edward V

  1483-1485 理查三世 King Richard III

  (6)都铎王朝

  House of Tudor

  1485-1509 亨利七世 King Henry VII

  1509-1547 亨利八世 King Henry VIII

  1547-1553 爱德华六世 King Edward VI

  1553 简•格雷 Lady Jane Grey

  1553-1558 玛丽一世 Queen Mary I the Bloody "血腥玛丽"

  1558-1603 伊丽莎白一世 Queen Elizabeth I

  3,苏格兰君主[到1603}

  (1)亚尔宾王朝

  House of Alpin

  肯尼思一世 King Kenneth I McAlpin

  唐纳德一世 King Donald I

  君士坦丁一世 King Constantine I

  艾德王 King Aed

  奥凯德王 King Eochaid

  唐纳德二世 King Donald II

  君士坦丁二世 King Constantine II

  (2)邓凯尔德王朝

  House of Dunkeld

  马尔科姆一世 King Malcolm I

  英多尔夫王 King Indolf

  杜夫王 King Dubh

  科林王 King Cuilean

  肯尼思二世 King Kenneth II

  君士坦丁三世 King Constantine III

  肯尼思三世 King Kenneth III

  马尔科姆二世 King Malcolm II

  邓肯一世 King Duncan I

  麦克白 King Macbeth

  卢拉赫王 King Lulach

  (3)坎莫尔王朝

  House of Canmore

  马尔科姆三世 King Malcolm III (Canmore)

  唐纳德•班 King Donald Ban

  邓肯二世 King Duncan II

  唐纳德•班和埃德蒙(共同执政) King Donald Ban and King Edmund

  埃德加 King Edgar the Peaceable "和平王"

  亚历山大一世 King Alexander the Fierce "暴躁王"

  大卫一世 King David I

  马尔科姆四世 King Malcolm IV the Maiden "未婚王"

  威廉 King William the Lion "雄狮王"

  亚历山大二世 King Alexander II

  亚历山大三世 King Alexander III

  玛格丽特女王 Queen Margaret (Maid of Norway)

  (4)巴里奥尔王朝

  House of Balliol

  约翰•巴里奥尔 John Balliol

  (5)布鲁斯王朝

  House of Bruce

  1306-1329 罗伯特一世 (罗伯特•布鲁斯) King Robert I the Bruce

  1329-1371 大卫二世 King David II

  (6)斯图亚特王朝

  House of Stewart

  1371-1390 罗伯特二世 King Robert II

  1390-1406 罗伯特三世 King Robert III

  1406-1437 詹姆斯一世 King James I

  1437-1460 詹姆斯二世 King James II

  1460-1488 詹姆斯三世 King James III

  1488-1513 詹姆斯四世 King James IV

  1513-1542 詹姆斯五世 King James V

  1542-1567 玛丽•斯图亚特 Queen Mary of Scots

  1567-1603 詹姆斯六世 King James VI

  4,英国君主[1603--]

  (1)斯图亚特王朝

  House of Stewart

  1603-1625 詹姆斯一世 King James I

  1625-1649 查理一世 King Charles I

  (2)共和政府

  1653-1658 奥利弗•克伦威尔,护国公

  1658-1659 理查•克伦威尔,护国公

  (3)斯图亚特王朝复辟

  House of Stewart

  1660-1685 查理二世 King Chales II

  1685-1688 詹姆斯二世 King James II

  1689-1694 威廉三世和玛丽二世 King William III and Queen Mary II

  1694-1702 威廉三世 King William III

  1702-1714 安妮女王 Queen Anne

  (4)汉诺威王朝

  House of Hannover

  1714-1727 乔治一世 King George I

  1727-1760 乔治二世 King George II

  1760-1820 乔治三世 King George III

  1820-1830 (1811-1820 摄政) 乔治四世 King George IV

  1830-1837 威廉四世 King William IV

  1837-1901 维多利亚女王 Queen Victoria

  (5)萨克森—科堡-哥达王朝

  House of Sachsen-Coburg-Gotha

  1901-1910 爱德华七世 King Edward VII

  1910-1917 乔治五世 King George V

  (6)温莎王朝

  The House of Windsor

  1917-1936 乔治五世 King George V

  1936 爱德华八世 King Edward VIII

  1936-1952 乔治六世 King George VI

  1952- 伊丽莎白二世 Queen Elizabeth II

  一继承人:威尔士亲王查尔斯王储殿下(伊丽莎白二世的长子)

  第二继承人:威尔士的威廉王子殿下(查尔斯王储的长子)

  第三继承人:威尔士的亨利王子殿下(查尔斯王储的次子)

  第四继承人:约克公爵安德鲁王子殿下(伊丽莎白二世的次子)

  第五继承人:约克的比阿特丽斯公主殿下(约克公爵的长女)

  第六继承人:约克的欧吉妮公主殿下(约克公爵的次女)

  第七继承人:威塞克斯伯爵爱德华王子殿下(伊丽莎白二世的三子)

  第八继承人:塞文子爵詹姆士 (威塞克斯伯爵的儿子)

  第十继承人: 路易斯•温莎

一 词汇

⑴ 单词

1 介词:in, on, under, behind, near, at, of

1) in表示"在……中", "在……内"。例如:

in our class 在我们班上

in my bag 在我的书包里

in the desk 在桌子里

in the classroom 在教室里

2) on 表示"在……上"。例如:

on the wall 在墙上

on the desk 在桌子上

on the blackboard 在黑板上

3) under表示"在……下"。例如:

under the tree 在树下

under the chair 在椅子下

under the bed 在床下

4) behind表示"在……后面"。例如:

behind the door 在门后

behind the tree 在树后

5) near表示"在……附近"。例如:

near the teacher's desk 在讲桌附近

near the bed 在床附近

6) at表示"在……处"。例如:

at school 在学校

at home 在家

at the door 在门口

7) of 表示"……的"。例如:

a picture of our classroom 我们教室的一幅画

a map of China 一张中国地图

2 冠词 a / an / the:

冠词一般位于所限定的名词前,用来署名名词所指的人或事物。冠词有不定冠词和定冠词两种。不定冠词有两个形式,即a和an。a用在以辅音音素开头的词前,如a book; an用在以元音音素开头的字母前,如an apple

a或an与可数名词单数连用,泛指某类人或某物中的一个。

This is a cat

这是一只猫。

It's an English book

这是一本英语书。

His father is a worker

他的爸爸是个工人。

the既可以用在可数名词前,也可以用在不可数名词前,表示某个或某些特定的人或事物,也可以指上文提到过的人或事物。

Who's the boy in the hat

戴帽子的男孩是谁呀?

------ What can you see in the classroom

------ I can see a bag

------ Where's the bag

------ It's on the desk

------- 你能在教室里看到什么呀?

------ 我能看见一个书包。

------ 书包在哪呀?

------ 在桌子上。

3some和any

①在肯定句中用some例如:

There are some books on the desk桌子上有一些书。

Lucy has some good books露西有一些好书。

②在疑问句和否定句中用any。例如:

Is there any ink in your pen你的钢笔里有墨水吗?

Do you have any brothers and sisters你有兄弟姐妹吗?

There isn't any water in the glass杯子里没有水。

⑵记住它们的特殊用法。

①some亦可用于表示盼望得到对方肯定的答复或表示建议、委婉请求的疑问句中,这一点我们不久就会学到。例如:

Would you like to have some apples你想吃苹果吗?

②any也可用于肯定句中,表示"任何的"。例如:

Any one of us can do this我们当中任何一个都能做这个。

some 和any的用法是经常出现的考点,希望大家能准确地掌握它们的用法。

4family

family看作为一个整体时,意思是"家庭",后面的谓语动词be用单数形式 is ;如把family看作为家庭成员时,应理解为复数,后面的谓语动词be应用are。

My family is a big family 我的家庭是个大家庭。

My family are all at home now 我的家人现在都在家。

Family强调由家人组成的一个集体或强调这个集体中的成员。home指个人出生、被抚养长大的环境和居住地点。 house指"家"、"房屋",侧重居住的建筑本身。

His family are all workers 他的家人都是工人。

My home is in Beijing 我的家在北京。

He isn't at home now 他现在不在家。

It's a picture of my family 这是一张我全家的照片。

5 little的用法

a little dog 一只小狗,a little boy 一个小男孩。little常用来修饰有生命的名词。

但little还可表示否定意义,意为"少的",加不可数名词。

There is little time 几乎没时间了。

There is little water in the cup 杯中水很少。

⑵ 词组

on the desk 在桌子上

behind the chair 在椅子后

under the chair 在椅子下面

in her pencil-box 在她的铅笔盒中

near the door 在门附近

a picture of a classroom 一个教室的

look at the picture 看这张

the teacher's desk 讲桌

a map of China 一张中国地图

family tree 家谱

have a seat 坐下,就坐

this way 这边走

二 日常用语

1 Come and meet my family

2 Go and see I think it's Li Lei

3 Glad to meet you

4 What can you see in the picture

I can see a clock / some books

5 Can you see an orange

Yes, I can / No, I can't

6 Where's Shenzhen

It's near Hong Kong

7 Let me see(口语)让我想想看。

see 在这是"明白、懂了",不可译作"看见"。例如:

8 Please have a seat

seat表示"座位",是个名词。have a seat表示"就坐",也可以说take a seat, 和sit down的意思相同。

三 语法

1 名词所有格

名词如要表示与后面名词的所有关系,通常用名词所有格的形式,意为"……的"。一般有以下几种形式:

(1) 一般情况下在词尾加"'s"。例如:

Kate's father Kate的爸爸

my mother's friend 我妈妈的朋友

(2) 如果复数名词以s结尾,只加"'"。例如:

Teachers' Day 教师节

The boys' game 男孩们的游戏

(3) 如果复数名词不以s结尾,仍加"'s"。例如:

Children's Day 儿童节

Women's Day 妇女节

(4) 表示两个或几个共有时,所有格应加在后一个名词上。例如:

Lucy and Lily's room Lucy 和Lily的房间

Kate and Jim's father Kate 和Jim的爸爸

动物和无生命事物的名词的所有格一般不在词尾加"'s",而常常用介词of的短语来表示。

a map of China 一幅中国地图

the name of her cat 她的猫的名字

a picture of my family 我的家庭的一张照片

the door of the bedroom 卧室的门

2 祈使句

祈使句主要用来表示说话人的请求、命令、建议、叮嘱等意图。祈使句一般不用主语,读时用降调。为使语气委婉、礼貌,常在句首或句尾加please 。在句尾时,please前多用逗号。

(1) 祈使句肯定形式的谓语动词一律用动词原形。

Go and see 去看看。

Come in, please 请进。

(2) 祈使句的否定形式常用don't于句首。

Don't look at your books 不要看书。

Don't play on the road 不要在马路上玩。

3 There be 的句子结构

There be是一个"存在"句型,表示"有"的意思,

肯定句的形式为:There be + 名词(单数或复数)+地点状语或时间状语。

be动词单复数的确定,看be后边第一个名词,当所接主语为单数或不可数名词时,be动词形式为is;当所接主语为复数名词时,be动词为are;当be动词后接两个以上主语时,be动词与最临近主语保持数上的一致。意思为"某地有某人或某物"。如:

There is an eraser and two pens on the desk 桌子上有一块橡皮和两支钢笔。

There are two pens and an eraser on the desk 桌上有两支钢笔和一块橡皮。

(1)there be的否定句,即在be的后面加上not。

否定形式为:There be + not + (any) + 名词+地点状语。

There is not any cat in the room 房间里没猫。

There aren't any books on the desk 桌子上没书。

(2)there be句型的疑问句就是将be提到句首:Be there + (any) +名词+地点状语?肯定回答:Yes, there is / are 否定回答:No, there isn't / aren't

---Is there a dog in the picture 画上有一只狗吗?

---Yes, there is 有。

---Are there any boats in the river 河里有船吗?

---No, there aren't 没有。

(3)特殊疑问句:How many are there (+地点状语)?"某地有多少人或物?"回答用There be

There's one / There are two / three / some

有时直接就用数字来回答。One / Two

---How many students are there in the classroom 教室里有多少学生?

---There's only one / There are nine 只有一个。/有九个。

(4)如果名词是不可数名词,用:How much + 不可数名词 + is there + 地点状语?

How much water is there in the cup 杯中有多少水?

How much food is there in the bowl 碗里有多少食物?

first name; last name

phone/telephone number and ID card

address book

a piece of paper; look at the picture; in his pencil case

in English ; a set of keys

lost and found case; talk about; talk with

family tree; a photo of my family

thanks for under the table; on the bedside

I don't know ; an alarm clock

his video cassettes

taketo bringto

This is

a pair of tennis rackets

a baseball star

Awho's that woman

B she's my mother

A is that your sister

BYes, you're right

A what's her name

BCathy

根据句意填写单词

My father's father is my grandfather

My parents' son is mybrother

My sister is my parents' daughter

My father's brother is my uncle

My father's sisters are my aunt

He is my father's friend I call him uncle Wang

英汉互译

这是我的朋友 this is my friend

这些是我的书 are these your books?

那是你的哥哥吗 is that your brother?

那些是她的姐妹 these are her sisters

他是你的父亲吗 is he your father?

我的姐姐 my sister

她的父母亲 her parents

你的婶婶 his uncle

他的朋友们 his friends

我的堂兄 my cousin

a photo of my family 我的家庭照片

his grandparents 他的祖父母

her family tree 她的家谱

dear friend 亲爱的朋友

thanks for 因……感谢

MrBrown is a man and MrsBrown is a womanMrBrown is Tim and Sophie's father and MrsBrown is Tim and Sophie's mother

Tim is MR and MrsBrown's sonSophie is Mr and MrsBrown's

daughter Tim is Sophie's brother Sophie is Tim's sister

C语言 家谱问题

#include<stdioh>#include<stringh>char w[5][20]={{"child"},{"parent"},{"sibling"},{"descendant"},{"ancestor"}};    int kong(c...
点击下载
热门文章
    确认删除?
    回到顶部