1.我家的谱源谱源家谱派号是 名,遇,码家码敦,谱源谱源德,码家码品,谱源谱源行,码家码php疫情源码端,谱源谱源方,码家码溪,谱源谱源斯,码家码福,谱源谱源履,码家码后面是谱源谱源源码易学什么。。码家码。谱源谱源
2.请问在latex里如何绘制这样的家谱和连线?谢谢!
3.C语言 家谱问题
4.Cè¯è¨å®¶è°±å¦ä½åå±è¾åº
5.请大神用C语言帮编一个关于家谱的程序!要求:
我家的家谱派号是 名,遇,neuron 源码敦,德,品,行,端,方,源码宠物溪,斯,福,履,后面是什么。。延迟源码。
刘兄,是否要担任族长,为家族的派号在烦心,想遵行老族长的派号意图,在广泛征询派号。
从名M,遇Y,敦D,德D,品P,行X,端D,方F,溪X,斯S,福F,履L,当头的字母为(在派号旁)。按p b m f d t n l g k h j q x z c s zh ch sh sh声母的规律m为头,s为底,中间夹着 m f d t n l g k h j q x z c s ,用声母z 枣 或c 材比较好。
请问在latex里如何绘制这样的家谱和连线?谢谢!
用 TikZ 可以效果:
效果
代码:
\documentclass{ standalone}
\usepackage{ ctex}
\usepackage{ pifont} %\ding
\usepackage{ tikz}
\usepackage{ color}
\usetikzlibrary{ positioning} % 相对放置 of
\usetikzlibrary{ calc} % 计算两个节点
\usetikzlibrary{ bending}
\usetikzlibrary{ arrows.meta}
\begin{ document}
\begin{ tikzpicture}
\node (a) at (0,0) { 少典};
\node (b0) [right=of a] { \textcolor{ red}{ \ding{ }}};
\node (b) [right=-0.5em of b0] { 轩辕};
\node (c) [right=of b] { 昌意};
\node (d0) [right=of c] { \textcolor{ red}{ \ding{ }}};
\node (d) [right=-0.5em of d0] { 颛顼高阳};
\node (e) [right=of d] { 穷蝉};
\node (de) at ($(d)!0.5!(e)$) { };
\node (de1) [above=1ex of de] { };
\node (de2) [below=1ex of de] { };
\node (f) [right=of e] { 敬康};
\node (g) [right=of f] { 句望};
\node (h) [right=of g] { 娇牛};
\node (i) [right=of h] { 瞽叟};
\node (j0) [right=of i] { \textcolor{ red}{ \ding{ }}};
\node (j) [right=-0.5em of j0] { 虞舜};
\node (ij) at ($(i)!0.5!(j0)$) { };
\node (k) [right=of j] { 商均};
\node (e1) [above=1ex of e] { 鲧};
\node (e2) [below=1ex of e] { 女修};
\node (f) [right=of e1] { \textcolor{ red}{ \ding{ }}};
\node (f1) [right=-0.5em of f] { 禹};
\node (j1) [below=1ex of j0] { 象};
\node (l) [below=6ex of c] { 青阳玄嚣};
\node (m) [right=of l] { 蝺极};
\node (n0) [right=of m] { \textcolor{ red}{ \ding{ }}};
\node (n) [right=-0.5em of n0] { 喾高辛};
\node (o0) [right=of n] { \textcolor{ red}{ \ding{ }}};
\node (o) [right=-0.5em of o0] { 挚};
\node (bc) at ($(b)!0.5!(c)$) { };
\node (no) at ($(n)!0.5!(o0)$) { };
\node (o) [above=1ex of o0] { \textcolor{ red}{ \ding{ }}};
\node (o1) [right=-0.5em of o] { 尧};
\node (o2) [below=1ex of o0] { 契};
\node (o3) [below=1ex of o2] { 后稷};
\node (ctrl1) at ($(f)!0.1!(g)$) { };
\node (ctrl2) at ($(o3)!0.5!(j0)$) { };
\draw (de) |- (e1)
(de) |- (e2)
($(de)-(0,.5em)$) -- ($(de)+(0,.5em)$)
(ij) |- (j1)
($(ij)-(0,.5em)$) -- ($(i)!0.5!(j0)$)
(bc) |- (l)
($(bc)-(0,.5em)$) -- ($(b)!0.5!(c)$)
(no) |- (o)
(no) |- (o2)
(no) |- (o3)
($(no)-(0,.5em)$) -- ($(no)+(0,.5em)$);
\path (a) edge (b0)
(b) edge (c)
(c) edge (d0)
(d) edge (e)
(e) edge (f)
(f) edge (g)
(g) edge (h)
(h) edge (i)
(i) edge (j0)
(j) edge (k)
(e1) edge (f)
(l) edge (m)
(m) edge (n0)
(n) edge (o0)
\draw [red] (b0) to[bend left=] (d0)
(d0) to[bend right=] (n0)
(n0) to[bend right=] (o0)
(o0) to (o);
\draw [red] (o) .. controls (ctrl1) and (ctrl2) .. (j0);
% (o) to[bend left=] (j0);
\draw[red, arrows={ -Stealth[inset=0pt, length=pt, angle'=]}] (j0) to[bend right] (f1);
\end{ tikzpicture}
\end{ document}
C语言 家谱问题
#include<stdio.h>
#include<string.h>
char w[5][]={ { "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[][];
int num[]={ 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[],word[],n1[],n2[],d[];
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(t*2+1,i)][0]!='\0')
t=t*2+1;
else
t=t*2;
}
else { if(b<a) {
h=(a-b)/2;
while(h>=1) {
t=t/2;
h--;
}
}}
if(fam[search1(t*2,i)][0]!='\0')
x=t*2+1;
else x=t*2;
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==b*2||a==(b*2+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==a*2||b==(a*2+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/2*2+1)||(a==b-1&&b==a/2*2+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;
}
听说回答的够长能够自动采纳
Cè¯è¨å®¶è°±å¦ä½åå±è¾åº
Cè¯è¨å®¶è°±åå±è¾åºä»£ç å¦ä¸ï¼
*/
#include
#include
#include
#include
#include"map.h"
#defineMAXN
#defineMAXMEM
#defineElemtypechar
//
//æ
typedefstructBiTNode
{ undefined
intmark;//æ è®°
intlevel;
charname[];//å§å
charbirthday[];//çæ¥
charaddress[MAXN];//ä½å
boolmarriage;//å©å¦(true表示ç»å©ï¼false表示没ç»å©)
boollive;//建å¨(true表示活çï¼false表示è¿ä¸)
boolsex;//æ§å«(true表示ç·ï¼false表示女)
charlivemassage[];//æ»äº¡æ¥æ(å¦æå ¶å·²ç»æ»äº¡)
Elemtypedata;//
structBiTNode*lc,*rc;
}BiTNode,*BiTree;
//
//æ çç¸å ³æä½
charnametemp[];//å§å
charbirthdaytemp[];//çæ¥
charaddresstemp[MAXN];//ä½å
boolmarriagetemp;//å©å¦(true表示ç»å©ï¼false表示没ç»å©)
boollivetemp;//建å¨(true表示æè ï¼false表示è¿ä¸)
boolsextemp;
charlivemassagetemp[MAXN];//æ»äº¡æ¥æ(å¦æå ¶å·²ç»æ»äº¡)
charch;//é¢å¤ä½¿ç¨
intleveltemp;//人ç代æ°
intNth;//æ¾ç¤ºç¬¬n代人æ¶è¦ç¨
charsearchdata[];
charsearchname[];
intcount;//计æ°
intchoice;//åç§éæ©
intuse;
BiTreetemp;
structBiTNodeList
{ undefined
BiTreedata;
BiTNodeList*next;
};
BiTNodeList*Li
st;
voidCreatBiTree(BiTree&T,FILE*in)//建ç«åé¾äºåæ
{ undefined
fscanf(in,"%c",&ch);
//printf("%c\n",ch);
if(ch=='@')
å±ï¼æ为â éå èµ·æ¥çä¸è¥¿ï¼éå èµ·æ¥çä¸è¥¿ä¸çä¸é¨åï¼å±æ¬¡|表å±|大æ°å±ãâ¡éå ï¼éå¤ï¼å±å³¦å å¶|å±åºä¸ç©·ãâ¢éè¯ï¼ç¨äºå¯ä»¥ååºå±æ¬¡çäºç©ï¼ä¸å±æ¥¼|两å±ææ|æ¦æä¸å±ç°ã
家谱ï¼å称æè°±ãå®è°±çãæ¯ä¸ç§ä»¥è¡¨è°±å½¢å¼ï¼è®°è½½ä¸ä¸ªå®¶æçä¸ç³»ç¹è¡åéè¦äººç©äºè¿¹ç书ã家谱æ¯ä¸ç§ç¹æ®çæç®ï¼å°±å ¶å 容èè¨ï¼æ¯ä¸åææå²ä¸å ·æå¹³æ°ç¹è²çæç®ï¼è®°è½½çæ¯åå®å ±ç¥è¡ç¼éå¢ä¸ç³»äººç©åäºè¿¹çæ¹é¢æ åµçåå²å¾ç±ãæ®ç 究表æï¼ä¸åå¤å§æ¥æºäºå¾è ¾å´æï¼ç³»æ°æå¾½å·ææ å¿ã
请大神用C语言帮编一个关于家谱的程序!要求:
给你一个二叉树,你自己再想想。
/*