学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页 > 笔记串讲 > 自考“高级语言程序设计”习题答案详解(32

自考“高级语言程序设计”习题答案详解(32)

2007年09月04日    来源:   字体:   打印

  7.输入两个字符串,将它们连接后输出。

  「解」程序设有两个存储字符串的数组,先输入两个字符串,然后找到第一个字符串的末尾,接着将第二个字符串复制在第一个字符串的后面,然后输出。程序如下:

  # include

  # define N 120

  main()

  { char s1[N+N],s2[N],*p,*q;

  printf(“输入2个字符串\n”);

  scanf(“%s%s”,s1,s2);

  for(p=sl;* p!=‘\0’; p++);

  for(q=s2;*p++=*q++;);

  printf(“两字符串连接后:%s\n” ,sl);

  }

  8.比较两个字符串是否相等。

  「解」程序设两个存储字符串的数组,先输入两个字符串,两字符率比较时,直接用两字符串的对应字符比较来实现。完整程序如下:

  # include

  # define N 120

  main()

  { char sl[N] ,s2[N],*p,*q;

  char *result[]={“小于”,“相等” ,“大于”};

  int comp;

  printf(“输入 2个字符串\n”);

  scanf(“%s%s”,s1,s2);

  for(p=sl,q=s2;*q!=‘\0’&& *p==*q; p++, q++);

  comp=*P <* q? 0:*P==*q? l:2;

  printf(“字符串1与字符串2比较:%s\n”,result[comp]);

  }

  9.输入10个整数,将其中更大数与更后一个数交换,更小数与第一个数交换。

  「解」程序设一个一维数组存储输入的10个整数。然后遍历数组,找出更大元素和更小元素的指针。接着按要求先将更大元素与更后一个元素交换,然后将更小元素与第一个元素交换。更后,输出数组中的全部整数。程序应考虑到这样一种特殊情况,即更后一个元素正是更小元素,它在与更大元素交换后,位置已移到原先存储更大元素的位置。程序应保证更大元素移到末尾,更小元素移到更前端。

  程序如下:

  # include

  # define N 10

  main()

  { int a[N],*maxp,*minp,*q,t;

  printf(“入%d个整数\n,N);

  for(q=a;q<A+N;Q++) {

  scanf(“%d”,&t);*q=t;

  }

  maxp= minp= a;

  for(q=a;q<A+N;Q++){

  if(*maxp<*p) maxp=q;

  if(*minp>*q) minp=q;

  }

  t=*maxp; *maxp=a[N-1]; a[N-l]=t;

  if(minp==&a[N-l]) minp=maxp;

  t=* minp;*minp= a[0]; a[0]= t;

  for(q=a;q<A+N; Q++)

  printf(“%d”,*q);

  printf(“\n”);

  }

关闭