计算机二级

3773考试网计算机等级考试计算机二级正文

2011年计算机二级考试C语言经典程序设计100例(15)

来源:fjzsksw.com 2010-10-28 9:02:18

 

计算机二级]2011年计算机二级考试C语言经典程序设计100例(14) 10-28
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(13) 10-28
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(12) 10-28
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(11) 10-28
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(10) 10-27
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(9) 10-27
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(8) 10-27
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(7) 10-27
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(6) 10-27
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(5) 10-27
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(4) 10-27
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(3) 10-27
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(2) 10-27
[计算机二级]2011年计算机二级考试C语言经典程序设计100例(1)

 

 【程序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<N;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<N;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 delete_node(link pointer,link tmp)
  {if (tmp==NULL) /*delete first node*/
  return pointer->next;
  else
  { if(tmp->next->next==NULL)/*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;i<num;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=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;i<num;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);
  selection_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);
  }
  }

 

 

触屏版 电脑版
3773考试网 琼ICP备12003406号-1