全国计算机等考二级C语言:程序设计实战(12)

日期:12-29| http://www.59wj.com |C模拟题|人气:943

全国计算机等考二级C语言:程序设计实战(12)

  经典c程序100例==71--80

  【程序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();

  }

  ==============================================================

www.59wj.com

  【程序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;

  }

  }

  ==============================================================
www.59wj.com

  【程序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;

  }}

  ==============================================================
www.59wj.com

  【程序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

  {

  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;
www.59wj.com

  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);

  selection_sort(ptr,5);

  }

  ==============================================================
www.59wj.com

  【程序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);

  }

  }

  ==============================================================
www.59wj.com

  【程序76】

  题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数

  1/1+1/3+...+1/n(利用指针函数)

  1.程序分析:

  2.程序源代码:

  main()

  #include "stdio.h"

  main()

  {

  float peven(),podd(),dcall();

  float sum;

  int n;

  while (1)

  {

  scanf("%d",&n);

  if(n>1)

  break;

  }

  if(n%2==0)

  {

  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;i<=n;i+=2)

  s+=1/(float)i;

  return(s);

  }

  float podd(n)

  int n;

  {

  float s;

  int i;

  s=0;

  for(i=1;i<=n;i+=2)

  s+=1/(float)i;

  return(s);

  }

  float dcall(fp,n)

  float (*fp)();

  int n;

  {

  float s;

  s=(*fp)(n);

  return(s);

  }

  ==============================================================
www.59wj.com

  【程序77】

  题目:填空练习(指向指针的指针)

  1.程序分析:

  2.程序源代码:

  main()

  { char *s[]={"man","woman","girl","boy","sister"};

  char **q;

  int k;

  for(k=0;k<5;k++)

  {       ;/*这里填写什么语句*/

  printf("%s\n",*q);

  }

  }

  ==============================================================
www.59wj.com

  【程序78】

  题目:找到年龄最大的人,并输出。请找出程序中有什么问题。

  1.程序分析:

  2.程序源代码:

  #define N 4

  #include "stdio.h"

  static struct man

  { char name[20];

  int age;

  } person[N]={"li",18,"wang",19,"zhang",20,"sun",22};

  main()

  {struct man *q,*p;

  int i,m=0;

  p=person;

  for (i=0;i

  {if(mage)

  q=p++;

  m=q->age;}

  printf("%s,%d",(*q).name,(*q).age);

  }

  ==============================================================
www.59wj.com

  【程序79】

  题目:字符串排序。

  1.程序分析:

  2.程序源代码:

  main()

  {

  char *str1[20],*str2[20],*str3[20];

  char swap();

  printf("please input three strings\n");

  scanf("%s",str1);

  scanf("%s",str2);

  scanf("%s",str3);

  if(strcmp(str1,str2)>0) swap(str1,str2);

  if(strcmp(str1,str3)>0) swap(str1,str3);

  if(strcmp(str2,str3)>0) swap(str2,str3);

  printf("after being sorted\n");

  printf("%s\n%s\n%s\n",str1,str2,str3);

  }

  char swap(p1,p2)

  char *p1,*p2;

  {

  char *p[20];

  strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);

  }

  ==============================================================
如果觉得《全国计算机等考二级C语言:程序设计实战(12)》C模拟题,jsj不错,可以推荐给好友哦。

本文Tags: 计算机等级考试 - 模拟试题 - 计算机二级模拟试题 - C模拟题,jsj,
在百度中搜索相关文章:全国计算机等考二级C语言:程序设计实战(12)
在谷歌中搜索相关文章:全国计算机等考二级C语言:程序设计实战(12)
在soso中搜索相关文章:全国计算机等考二级C语言:程序设计实战(12)
在搜狗中搜索相关文章:全国计算机等考二级C语言:程序设计实战(12)
相关分类导航|
热门推荐|