标题:程序求功能模块化,尝试了好多次,不能运行出正确的结果
只看楼主
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
结帖率:59.52%
 问题点数:0 回复次数:3 
程序求功能模块化,尝试了好多次,不能运行出正确的结果
#include<stdio.h>
#include<stdlib.h>
main()
{
int n;
typedef struct stu
{
int i;
struct stu *next;
}stu;
typedef struct head
{
stu *he;
int size;
}head;
head *p;
stu *p1;
stu *p2;
stu *p3;
p=(head*)malloc(sizeof(head));
if(p==NULL)
{
printf("shengqingshibai\n");
return (NULL);
}
(*p).he=p2=NULL;
(*p).size=0;
printf("please shurushuju:\n");
scanf("%d",&n);
while(n!=0)
{
p1=(stu*)malloc(sizeof(stu));
if(p1==NULL)
{
printf("shengqingshibai\n");
return (NULL);
}
(*p1).next=NULL;
if((*p).size==0)
{
(*p).he=p1;
p2=p1;
}
else
{
(*p2).next=p1;
p2=p1;
}
(*p1).i=n;
(*p).size++;
printf("qingshurushuju:\n");
scanf("%d",&n);
}
printf("shurushujujiesu\n");
printf("%d\n",(*p).size);
p3=(*p).he;
while(p3!=NULL)
{
 printf("%d\n",(*p3).i);
 p3=(*p3).next;
}
}
搜索更多相关主题的帖子: include head please return 
2012-07-30 05:04
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
得分:0 
自己做的,花了好长时间  还能优化么?
#include<stdio.h>
#include<stdlib.h>
typedef struct stu
{
int i;
struct stu *next;
}stu; /*数据结构体*/

typedef struct head
{
stu *he;
int size;
}head;/*链表头文件信息存放*/


void dayin(stu *p3) /*打印出链表内容*/
{
while(p3!=NULL)
{
 printf("%d\n",(*p3).i);
 p3=(*p3).next;
}
}

head *creatlist() /*建立一个链表的起始位置*/
{
    head *p;
p=(head*)malloc(sizeof(head));
if(p==NULL)
{
printf("shengqingshibai\n");
return (NULL);
}
(*p).he=NULL;
(*p).size=0;
return p;
}
stu *creatnum() /*建立一个链表的成员*/
{
    stu *p1;
    p1=(stu*)malloc(sizeof(stu));
if(p1==NULL)
{
printf("shengqingshibai\n");
return (NULL);
}
(*p1).next=NULL;
return p1;
}

stu *lianjieshuju(head *p,stu *p1,stu *p2) /*将新建立数据连接到表尾巴*/
{
if((*p).size==0)
{
(*p).he=p1;
p2=p1;
}
else
{
(*p2).next=p1;
p2=p1;
}
return p2;
}

main()  /*主体*/
{
head *p;
stu *p1;
stu *p2;
stu *p3;
int n;
p=creatlist();  
printf("please shurushuju:\n");
scanf("%d",&n);
while(n!=0)            /*约定n=0时结束输入数据*/
{
p1=creatnum();
p2=lianjieshuju(p,p1,p2);
(*p1).i=n;
(*p).size++;
printf("qingshurushuju:\n");
scanf("%d",&n);
}
printf("shurushujujiesu\n");
printf("%d\n",(*p).size); /*显示链表长度*/
p3=(*p).he;
dayin(p3);
}

我要成为嘿嘿的黑客,替天行道
2012-07-30 15:33
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:0 
改出正确结果没有? lianjieshuju 这函数名直接让偶崩溃.

我们都在路上。。。。。
2012-07-31 10:43
stophin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:227
专家分:618
注 册:2010-3-26
得分:0 
VC6.0下试了一下,完全没问题啊,就是排版要注意一下
输入87 27 21 0
输出3 87 27 21
2012-07-31 16:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-374341-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.675481 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved