《C程序设计》(谭浩强著)第四版第10章课后答案下载

C语言答案 时间:2017-04-22 我要投稿
【daxuesheng.hunaudx.com - C语言答案】

  《C程序设计》(谭浩强著)为了使初学者易于接受,能尽快地学会用C语言编写程序并上机实践,在第一部分中只介绍了 C 语言中最基本的三种数据类型。以下是由学生范文网小编整理关于《C程序设计》(谭浩强著)第四版课后答案下载地址,希望大家喜欢!

《C程序设计》(谭浩强著)第四版第10章课后答案下载

  点击进入:《C程序设计》(谭浩强著)第四版课后答案下载地址

  《C程序设计》(谭浩强著)第四版第10章课后答案

  第十章 指针

  10.1输入三个整数,按由小到大的顺序输出。

  main()

  { int a,b,c,*p1,*p2,*p3,t;

  scanf("%d,%d,%d",&a,&b,&c);

  p1=&a;p2=&b;p3=&c;

  if(*p1>*p2)

  {t=p1;p1=p2;p2=t;}

  if(*p1>*p3)

  {t=p1;p1=p3;p3=t;}

  if(*p2>*p3)

  {t=p2;p2=p3;p3=t;}

  printf("%d,%d,%d\n",*p1,*p2,*p3);

  }

  或

  main()

  {int a,b,c,*p1,*p2,*p3,t;

  scanf("%d,%d,%d",&a,&b,&c);

  p1=&a;p2=&b;p3=&c;

  if(a>b)

  {t=*p1;*p1=*p2;*p2=t;}

  if(a>c)

  {t=*p1;*p1=*p3;*p3=t;}

  if(b>c)

  {t=*p2;*p2=*p3;*p3=t;}

  printf("%d,%d,%d\n",a,b,c);

  }

  10.2输入三个字符串,按由小到大的顺序输出

  #define N 3

  #define M 20

  main()

  {char str0[N][M],str1[M],*p,*q;

  int i,l,m,n;

  q=str0;

  for(;p<q+N;p++)

  gets(p);

  l=strcmp(q,q+1);

  if(l>0)

  {strcpy(str1,q);strcpy(q,q+1);strcpy(q+1,str1);}

  m=strcmp(q,q+2);

  if(m>0)

  {strcpy(str1,q);strcpy(q,q+2);strcpy(q+2,str1);}

  n=strcmp(q+1,q+2);

  if(n>0)

  {strcpy(str1,q);strcpy(q+1,q+2);strcpy(q+2,q+1);}

  for(p=q;p<q+N;p++)

  puts(p);

  }

  10.3输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数;①输入10个数;②进行处理;③输出10个数。

  f(x,n)

  int x[],n;

  {int *p0,*p1,i,j,t,y;

  i=j=x[0];p0=p1=x;

  for(y=0;y<n;y++)

  {if(x[y]>i)

  {i=x[y];p0=&x[y];}

  else if(x[y]<j)

  {j=x[y];p1=&x[y];}}

  t=*p0;*p0=x[n-1];x[n-1]=t;

  t=*p1;*p1=x[0];x[0]=t;

  return;

  }

  main()

  {int a[10],u,*r;

  for(u=0;u<10;u++)

  scanf("%d",&a[u]);

  f(a,10);

  for(u=0,r=a;u<10;u++,r++)

  printf(" %d",a[u]);

  printf("\n");

  }

  10.4有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。

  #define N 10

  void shift(p,x)

  float *p;int x;

  {float a[N],*q,*o;int i;

  o=a;q=p;

  for(i=0;i<x;i++)

  *(o+i)=*(q+N-x+i);

  for(p=p+N-1;p>=q;p--)

  *p=*(p-x);

  for(i=0;i<x;i++)

  *(q+i)=*(o+i);

  return;}

  main()

  {float shuzhu[N],*u,*v;

  int h,i;u=v=shuzhu;

  scanf("%f",&h);

  for(;u<v+N;u++)

  scanf("%f",u);

  shift(v,h);

  for(u=v;u<v+N;u++)

  printf("%.2f ",*u);

  printf("\n");

  }

  10.5有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。

  #define N 5

  main()

  {int i,j,k,a[N+1],*p;

  for(i=0,p=a;p<=a+N;i++,p++)

  *p=i;

  p=a+1;k=N;

  for(i=0,j=1;k!=1;j++)

  {if(p>(a+N))

  p=a+1;

  if(*p!=0)

  i++;

  if((i-3)==0)

  {*p=0;i=0;k--;}

  p++;

  }

  for(i=1;i<=N;i++)

  if(a[i]!=0)

  printf("The last number is %d\n",a[i]);}

  10.7有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。

  #include"stdio.h"

  #define N 10

  main()

  {char a[N+1],b[N+1],*p,*q;

  int m;

  gets(a);

  scanf("%d",&m);

  p=a+m;q=b;

  strcpy(q,p);

  puts(q);

  }

  10.6写一函数,求一个字符串的长度。在主函数种输入字符串,并输出其长度。


看过“《C程序设计》(谭浩强著)第四版第10章课后答案下载”的人还看了:

1.《C程序设计》谭浩强 第四版课后答案完整版 清华大学出版社

2.C程序设计第三版 (谭浩强) 课后答案

3.C语言程序设计(陈明晰 著)课后答案 免费下载中国铁道出版社

4.C语言程序设计教程课后习题答案下载

5.C程序设计技术第三版课后答案 (熊壮著) 重庆大学出版社

热门文章