《c语言经典一百例》

下载本书

添加书签

c语言经典一百例- 第6部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
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;
  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
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架