计算机等级二级C语言程序设计100例七

文章作者 100test 发表时间 2007:08:06 13:20:25
来源 100Test.Com百考试题网


  【程序71】

  题目:编写input()和output()函数输入,输出5个学生的数据记录。

  1.程序分析:

  2.程序源代码:

以下是引用片段:
  #define N 5
  struct student
  { char num[6].
  char name[8].
  int score[4].
  } stu[N].
  input(stu)
  struct student stu[].
  { int i,j.
  for(i=0.i  { printf("/n please input %d of %d/n",i 1,N).
  printf("num: ").
  scanf("%s",stu[i].num).
  printf("name: ").
  scanf("%s",stu[i].name).
  for(j=0.j<3.j )
  { printf("score %d.",j 1).
  scanf("%d",&.stu[i].score[j]).
  }
  printf("/n").
  }
  }
  print(stu)
  struct student stu[].
  { int i,j.
  printf("/nNo. Name Sco1 Sco2 Sco3/n").
  for(i=0.i{ printf("%-6s%-10s",stu[i].num,stu[i].name).
  for(j=0.j<3.j )
  printf("%-8d",stu[i].score[j]).
  printf("/n").
  }
  }
  main()
  {
  input().
  print().
  }


  【程序72】

  题目:创建一个链表。

  1.程序分析:

  2.程序源代码:

以下是引用片段:
  /*creat 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.
  int num,i.
  ptr=(link)malloc(sizeof(node)).
  ptr=head.
  printf("please input 5 numbers==>/n").
  for(i=0.i<=4.i )
  {
  scanf("%d",&.num).
  ptr->data=num.
  ptr->next=(link)malloc(sizeof(node)).
  if(i==4) ptr->next=NULL.
  else ptr=ptr->next.
  }
  ptr=head.
  while(ptr!=NULL)
  { printf("The value is ==>%d/n",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.i<=4.i )
  {
  scanf("%d",&.num).
  ptr->data=num.
  head=(link)malloc(sizeof(node)).
  head->next=ptr.
  ptr=head.
  }
  ptr=ptr->next.
  while(ptr!=NULL)
  { printf("The value is ==>%d/n",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 0delete_node(link pointer,link tmp)
  {if (tmp==NULL) /*0delete first node*/
  return pointer->next.
  else
  { if(tmp->next->next==NULL)/*0delete last node*/
  tmp->next=NULL.
  else /*0delete the other node*/
  tmp->next=tmp->next->next.
  return pointer.
  }
  }
  void 0selection_sort(link pointer,int num)
  { link tmp,btmp.
  int i,min.
  for(i=0.i  {
  tmp=pointer.
  min=tmp->data.
  btmp=NULL.
  while(tmp->next)
  { if(min>tmp->next->data)
  {min=tmp->next->data.
  btmp=tmp.
  }
  tmp=tmp->next.
  }
  printf("/40: %d/n",min).
  pointer=0delete_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.i{ tmp2=(link)malloc(sizeof(node)).
  tmp2->next=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).
  0selection_sort(ptr,5).
  }


  【程序75】

  题目:放松一下,算一道简单的题目。

  1.程序分析:

  2.程序源代码:

以下是引用片段:
  main()
  {
  int i,n.
  for(i=1.i<5.i )
  { n=0.
  if(i!=1)
  n=n 1.
  if(i==3)
  n=n 1.
  if(i==4)
  n=n 1.
  if(i!=4)
  n=n 1.
  if(n==3)
  printf("zhu hao shi de shi:%c",64 i).
  }
  }
src="/ncre2/js/wxgg.js">


相关文章


计算机等级二级C语言程序设计100例八
计算机等级二级C语言程序设计100例九
计算机等级二级C语言程序设计100例七
计算机等级二级C语言程序设计100例四
计算机等级二级C语言程序设计100例六
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛