帮忙完成一下这段程序的注释(C语言版数据结构)

#include <stdio.h>
#include <stdlib.h>

#define MAX 100

typedef struct
{
int data[MAX];
int top;
}SqStack;

SqStack * InitStack()
{
SqStack * s;
s=(SqStack *)malloc (sizeof(SqStack));
s->top=-1;
return s;
}

int Push(SqStack *s,int e)
{
if(s->top==MAX-1) {printf("栈满数据溢出!"); return 0;}
s->top++;
s->data[s->top]=e;
}

void output(SqStack *s)
{
int i;
for(i=s->top;i>=0;i--)
printf("%d", s->data[i]);
printf("\n");
}

void main()
{
SqStack *s;
int n,e;
printf("请输入一个正整数:");
scanf("%d",&n);
s=InitStack();
while(n>0)
{
e=n%2;
Push(s,e);
n=(n-e)/2;
}
output(s);
}

第1个回答  2008-01-15
/*******************************
这段程序就是利用了堆栈的后进先出
的特性,将一个整数的二进制码打印
出来
*******************************/

#include <stdio.h>
#include <stdlib.h>

#define MAX 100//堆栈的最大容量

typedef struct
{
int data[MAX];//堆栈空间
int top;//栈顶指示器
}SqStack;
// 动态分配堆栈SqStack空间
// 入参:无
// 返回值:堆栈结构体指针
SqStack * InitStack()
{
SqStack * s;
s=(SqStack *)malloc (sizeof(SqStack));//动态分配堆栈空间
s->top=-1;//初始化栈顶指示器
return s;
}
// 将e入栈
// 入参:s堆栈结构体指针
// 返回值:堆栈对象的结构体指针
int Push(SqStack *s,int e)
{
if(s->top==MAX-1)//判断堆栈是否满
{
printf("栈满数据溢出!");
return 0;
}
s->top++;//移动栈顶指示器
s->data[s->top]=e;//数据入栈
//这里有Bug补充: return 1 ;
}
// 打印堆栈内的所有数据
// 入参:s堆栈结构体指针
// 返回值:无
void output(SqStack *s)
{
int i;
for(i=s->top;i>=0;i--)//打印从栈顶向栈尾的数据
printf("%d", s->data[i]);
printf("\n");//换行
}

void main()
{
SqStack *s;
int n,e;
printf("请输入一个正整数:");
scanf("%d",&n);//从键盘输入一个整数n
s=InitStack();//初始化堆栈
while(n>0)//将整数n的二进制码打印出来
{
e=n%2;//取整数n的最后一位
Push(s,e);//整数n的最后一位入栈
n=(n-e)/2;//整数n右移一位
}
output(s);//打印整数n的二进制码
}本回答被提问者采纳
第2个回答  2008-01-15
#include <stdio.h>
#include <stdlib.h>

#define MAX 100 // 定义栈最大保存数据

typedef struct
{
int data[MAX];
int top; // 最顶层元素
}SqStack; // 定义栈结构索引

// 初始化栈
SqStack * InitStack()
{
SqStack * s;
s=(SqStack *)malloc (sizeof(SqStack));
s->top=-1;
return s;
}
// 入栈
int Push(SqStack *s,int e)
{
if(s->top==MAX-1) {printf("栈满数据溢出!"); return 0;}
s->top++;
s->data[s->top]=e;
}

// 出栈
void output(SqStack *s)
{
int i;
for(i=s->top;i>=0;i--)
printf("%d", s->data[i]);
printf("\n");
}

void main()
{
SqStack *s;
int n,e;
printf("请输入一个正整数:");
// 输入要入栈的元素个数
scanf("%d",&n);
// 初始化栈
s=InitStack();
while(n>0)
{
e=n%2;
Push(s,e);
n=(n-e)/2;
}
output(s);
}

跪求数据结构 c语言程序的每段加上注释。。 注释啊 注释!!!
void build(int *a,int i,int n){ \/\/声明a为一个整型变量指针 int tmp;k=i;j=2*k+1;while(j<=n){ \/\/while 计算机的一种基本循环模式。 当满足条件时进入循环,不满足跳出 if((j<n)&&a[j]=a[j])break; \/\/break跳出循环 \/\/下面是交换两个数据分别是整型数组的k位和j位 tm...

帮忙解释C语言中数据结构的这段代码是什么意思呗!!谢了
这个程序的主要目的就是把输入的五个数逆序打印出来。。。用到了结构体的创建和打印。。。

C语言程序注释
1:一般情况下,源程序有效注释量必须在20%以上。说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、...

帮忙数据结构课程设计代码(C语言)
include <stdio.h> include <stdlib.h> struct node \/*结点的数据结构*\/ { int a;} ;struct Stack \/*栈的结构*\/ { struct node *A;int tos;int size;};init(struct Stack *S,int size) \/*栈的初始化*\/ { S->A=(struct node *)malloc(sizeof(struct node)*size);if(S...

请解释数据结构中一段C语言代码
在C语言中,status表示状态,常用来判断一个操作是否成功。LinkList,即链接列表,是一种常用的数据结构,用于表示一系列数据元素,这些元素通过指针链接在一起。这里的lklist也是对LinkList的定义,表示相同概念。而ElemType代表一种数据类型,具体表示地址类型,意味着在链表中存储的每个元素都对应于某种特定...

数据结构(C语言版),带头结点的单链表,初始化。不懂的在算法里批注了...
viod CreateList_L(Linklist &L,int n){ \/\/逆位序输入n个元素的值 这是写程序的人的注释 逆序体现在插入数据时,不是在尾部追加,而是从头部加入 每次输入的数据结点,都会成为当前的数据头 正向遍历数据(表头到表尾)时,所显示的数据与录入的顺序是相反的。L=(Linklist)malloc(sizeof(Lnode...

...编程达人请进。帮帮忙解释一下这个C语言数据结构的函数的思路和算法...
1、定义新链表c,用于存放结果 2、取多项式a的头结点qa,qa->next为a的第一项。3、对b进行同样操作得到b第一项地址qb->next。4、a的每一项与b的每一项都做运算,两个多项式相乘的结果存入c while(qa->next != 0)\/\/遍历a { while(qb->next != 0)\/\/遍历b { 系数相乘 幂相加 存入c...

用C语言和数据结构编写一个简单的程序(求源代码)
以下程序在VC++6.0中编译通过.\/ include <stdio.h> include <string.h> define MAX_NUMBER 6 \/\/修改这个参数来允许最大的位数,现设为6位 void GetZhe (const char * preStr,const char * strNum){ char newPreStr[MAX_NUMBER];char tmpStr[MAX_NUMBER];int i,j,k,iCnt;k = strlen...

谁懂数据结构C语言,帮个忙吧,我整了好久都没整好,会的帮我一下谢了
{ int data[MAXSIZE];int last;}SeqList;\/*顺序表的初始化*\/ SeqList *init_SeqList(){ SeqList *L;L=malloc(sizeof(SeqList));L->last=-1;return L;} \/*插入数据*\/ void Insert_SeqList(SeqList *L,int i,int x){ int j;if(L->last==MAXSIZE-1){ printf("full "); \/...

C语言版数据结构程序设计求大神帮助
\/* 栈和队列的结点类型,用于存放树结点 *\/ typedef struct { SElemType elem[MaxSize]; int top; }SqStack; \/* 栈 *\/ void InitStack(SqStack *pS) \/* 初始化栈,开始时栈为空 *\/ { pS->top=0; \/* top指向栈顶的上一个元素 *\/ } int Push(SqStack *pS,SElemType e) \/* 进栈...

相似回答
大家正在搜