题目描述
用串的块链存储并一次性输出你认识的3个人的信息,包括姓名,年龄,性别,身高。
输入
暂无
输出
暂无
样例输入
(这里只输入一个)
Wen Gehua
21
boy
172.3
样例输出
name:Wen Gehua
age:21
sex:boy
height:172.3
参考代码
#include <stdio.h>
#include <string.h>
struct fri
{
char mes[1000];
struct fri *next;
}
fr[3];
int main()
{
int zimu(char a);
int i;
int n=0;
struct fri *head,*p;
int count;
p=head=&fr[0];
fr[0].next=&fr[1];
fr[1].next=&fr[2];
fr[2].next=NULL;
while(p!=NULL&&gets(p->mes))
{
if(!zimu(p->mes[0]))
{
continue;
}
for (i=0;i<4;i++)
{
if(i==0)
{
count=strlen(p->mes)+1;
} else
{
gets(&p->mes[count]);
count=strlen(p->mes)+1;
}
if(i!=3)p->mes[strlen(p->mes)]='#';
}
p=p->next;
n++;
}
if(p==&fr[1]) fr[0].next=NULL;
if(p==&fr[2]) fr[1].next=NULL;
p=head;
while(p!=NULL)
{
i=0;
printf("name:");
for (;i<strlen(p->mes);i++)
{
if(p->mes[i]!='#')
printf("%c",p->mes[i]); else
{
i++;
break;
}
}
printf("nage:");
for (;i<strlen(p->mes);i++)
{
if(p->mes[i]!='#')
printf("%d",p->mes[i]-'0'); else
{
i++;
break;
}
}
printf("nsex:");
for (;i<strlen(p->mes);i++)
{
if(p->mes[i]!='#')
printf("%c",p->mes[i]); else
{
i++;
break;
}
}
printf("nheight:");
for (;i<strlen(p->mes);i++)
{
if(p->mes[i]!='#')
{
if(p->mes[i]!='.')
printf("%d",p->mes[i]-'0'); else printf("%c",p->mes[i]);
} else
{
i++;
break;
}
}
printf("n");
p=p->next;
}
return 0;
}
int zimu(char a)
{
if(a>='a'&&a<='z')return 1;
else if(a>='A'&&a<='Z')return 1;
else return 0;
}
解析
暂无