友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
九色书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

c语言教程-第31章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{ link ptr;head;
int num;i;
ptr=(link)malloc(sizeof(node));
ptr=head;
printf(〃please input 5 numbers》n〃);
for(i=0;idata=num;
 ptr…》next=(link)malloc(sizeof(node));
 if(i4) ptr…》next=NULL;
 else ptr=ptr…》next;

ptr=head;
while(ptr!=NULL)
{ printf(〃The value is 》%dn〃;ptr…》data);
 ptr=ptr…》next;



【程序73】
题目:反向输出一个链表。   
1。程序分析:
2。程序源代码:
/*reverse output a list*/
#include 〃stdlib。h〃
#include 〃stdio。h〃
struct list
{ int data;
 struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{ link ptr;head;tail; 
 int num;i;
 tail=(link)malloc(sizeof(node));
 tail…》next=NULL;
 ptr=tail;
 printf(〃nplease input 5 data》n〃);
 for(i=0;idata=num;
  head=(link)malloc(sizeof(node));
  head…》next=ptr;
  ptr=head;
 }
ptr=ptr…》next;
while(ptr!=NULL)
{ printf(〃The value is 》%dn〃;ptr…》data);
 ptr=ptr…》next;
}}

【程序74】
题目:连接两个链表。
1。程序分析:
2。程序源代码:
#include 〃stdlib。h〃
#include 〃stdio。h〃
struct list
{ int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
link delete_node(link pointer;link tmp)
{if (tmpNULL) /*delete first node*/
 return pointer…》next;
else
{ if(tmp…》next…》nextNULL)/*delete last node*/
  tmp…》next=NULL;
 else /*delete the other node*/
  tmp…》next=tmp…》next…》next;
 return pointer;


void selection_sort(link pointer;int num)
{ link tmp;btmp;
 int i;min;
 for(i=0;idata;
 btmp=NULL;
 while(tmp…》next)
 { if(min》tmp…》next…》data)
 {min=tmp…》next…》data;
  btmp=tmp;
 }
 tmp=tmp…》next;
 }
printf(〃40: %dn〃;min);
pointer=delete_node(pointer;btmp);


link create_list(int array'';int num)
{ link tmp1;tmp2;pointer;
int i;
pointer=(link)malloc(sizeof(node));
pointer…》data=array'0';
tmp1=pointer;
for(i=1;inext=NULL;
 tmp2…》data=array'i';
 tmp1…》next=tmp2;
 tmp1=tmp1…》next;

return pointer;

link concatenate(link pointer1;link pointer2)
{ link tmp;
tmp=pointer1;
while(tmp…》next)
 tmp=tmp…》next;
tmp…》next=pointer2;
return pointer1;

void main(void)
{ int arr1''={3;12;8;9;11};
 link ptr;
 ptr=create_list(arr1;5);
 selection_sort(ptr;5);


【程序75】
题目:放松一下,算一道简单的题目。
1。程序分析:
2。程序源代码:
main()

int i;n;
for(i=1;i1)
  break;

if(n%20)

 printf(〃Even=〃);
 sum=dcall(peven;n);

else

 printf(〃Odd=〃);
 sum=dcall(podd;n);

printf(〃%f〃;sum);

float peven(int n)

float s;
int i;
s=1;
for(i=2;i0) swap(str2;str3);
printf(〃after being sortedn〃);
printf(〃%sn%sn%sn〃;str1;str2;str3);

char swap(p1;p2)
char *p1;*p2;

char *p'20';
strcpy(p;p1);strcpy(p1;p2);strcpy(p2;p);


【程序80】
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只
   猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了
   一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,
   问海滩上原来最少有多少个桃子?
1。程序分析:
2。程序源代码:
main()
{int i;m;j;k;count;
for(i=4;i
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!