求c语言大神帮忙!!

1、生成一个单链表,从链尾插入2、每个结点包含:学号。姓名。性别3、第一个结点为本人信息4、显示链表结点的输入和输出信息怒求帮忙。。一大早上机数据结构测试。。... 1、生成一个单链表,从链尾插入
2、每个结点包含:学号。姓名。性别
3、第一个结点为本人信息
4、显示链表结点的输入和输出信息
怒求帮忙。。一大早上机数据结构测试。。
展开
 我来答
编程小小牛
推荐于2016-10-12
知道答主
回答量:14
采纳率:0%
帮助的人:10.6万
展开全部
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
#define  NULL 0


typedef  struct  LNode
{
int Num;
char Name[20];
char Sex;
struct LNode * next;
}Lnode,*Pnode;

int n;//定义全局变量  记录节点长度

Pnode   CreateNode()
{//创建链表   在未结点插入新节点
n=0;
Pnode p1,p2,head;
head=NULL;
p1 = p2 =(Pnode)malloc(sizeof(Lnode));
printf("请输入第1个同学的信息:");
printf("输入学号");
scanf("%d",&p1->Num);

printf("输入姓名");
scanf("%s",p1->Name);
printf("输入性别");
getchar();
p1->Sex = getchar();
while(p1->Num!=0)
{
n=n+1;
if(n==1) head=p1;
else
{
p2->next =p1;
p2=p1;
p1=(Pnode)malloc(sizeof(Lnode));
printf("请输入第%d个同学的信息:",n);
printf("输入学号");
scanf("%d",&p1->Num);
printf("输入姓名");
        scanf("%s",p1->Name);
printf("输入性别");
getchar();
        p1->Sex=getchar();
}
}
p2->next = NULL;
return head;
}

void   printNode(Pnode  head)
{
Pnode  p = head;
while(p != NULL)
{
printf("%d ",p->Num);
printf("%s ",p->Name);
printf("%c",p->Sex);
p=p->next;
printf("\n");
}
printf("\n");
}


int  main()
{
Pnode  head = CreateNode();
printf("链表创建成功!");


printf("输出链表\n");
printNode(head);
system("pause");//控制台窗口停留

}
另附上截图

一次输入学生的学号,姓名,性别,其中性别为m 或者 f  

知道输入学号为0的学生为止  打印出链表中的学生信息

希望对你有帮助!

祝   考试顺利!

浪漫水活2863
2014-05-23 · 超过78用户采纳过TA的回答
知道答主
回答量:147
采纳率:66%
帮助的人:66.1万
展开全部
#include<stdio.h>
int main()
{
const double likeSpor = 0.02;
const double goodDiet = 0.015;
double fatH,motH,youH;
char sex,spor,diet;
//处理性别
scanf("%c",&sex);
scanf("%lf",&fatH);
scanf("%lf",&motH);
scanf(" %c",&spor);
scanf(" %c",&diet);
if('m'==sex||'M'==sex)
youH=(fatH+motH)*0.54 ;
else if('f'==sex||'F'==sex)
youH=(fatH*0.923+motH)/2;
else{
printf("sex error");getch();return -1; //性别出错时
}

if('y'==spor||'Y'==spor)
{
youH=youH + youH * likeSpor ; //喜欢体育
}
if('y'=diet||'Y'=diet)
{
youH=youH + youH * goodDiet; //良好的卫生习惯
}
printf("Your future height will be %.0lf(cm)",youH);
getch(); //暂停
return 0;
}
希望对你能有所帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
事件paZT
2014-05-23 · TA获得超过124个赞
知道答主
回答量:121
采纳率:0%
帮助的人:60.6万
展开全部
#include<stdio.h>
int main()
{
const double likeSpor = 0.02;
const double goodDiet = 0.015;
double fatH,motH,youH;
char sex,spor,diet;
//处理性别
scanf("%c",&sex);
scanf("%lf",&fatH);
scanf("%lf",&motH);
scanf(" %c",&spor);
scanf(" %c",&diet);
if('m'==sex||'M'==sex)
youH=(fatH+motH)*0.54 ;
else if('f'==sex||'F'==sex)
youH=(fatH*0.923+motH)/2;
else{
printf("sex error");getch();return -1; //性别出错时
}

if('y'==spor||'Y'==spor)
{
youH=youH + youH * likeSpor ; //喜欢体育
}
if('y'=diet||'Y'=diet)
{
youH=youH + youH * goodDiet; //良好的卫生习惯
}
printf("Your future height will be %.0lf(cm)",youH);
getch(); //暂停
return 0;
}
希望能解决您的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猴装战2
2014-05-23 · 超过59用户采纳过TA的回答
知道答主
回答量:137
采纳率:50%
帮助的人:55.9万
展开全部
#include<stdio.h>
int main()
{
const double likeSpor = 0.02;
const double goodDiet = 0.015;
double fatH,motH,youH;
char sex,spor,diet;
//处理性别
scanf("%c",&sex);
scanf("%lf",&fatH);
scanf("%lf",&motH);
scanf(" %c",&spor);
scanf(" %c",&diet);
if('m'==sex||'M'==sex)
youH=(fatH+motH)*0.54 ;
else if('f'==sex||'F'==sex)
youH=(fatH*0.923+motH)/2;
else{
printf("sex error");getch();return -1; //性别出错时
}

if('y'==spor||'Y'==spor)
{
youH=youH + youH * likeSpor ; //喜欢体育
}
if('y'=diet||'Y'=diet)
{
youH=youH + youH * goodDiet; //良好的卫生习惯
}
printf("Your future height will be %.0lf(cm)",youH);
getch(); //暂停
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式