重庆自考网 > 复习指导 > 自考“高级语言程序设计”经典习题及答案(17)
2014
10-15

自考“高级语言程序设计”经典习题及答案(17)

自考“高级语言程序设计”经典习题及答案(17)

 4.说明下列程序的功能。

  main()

  { int i,j ;

  float a[3][3],b[3][3],c[3][3],x;

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

  for(j=0;j<3;j++)

  { scanf(“%f”, &x); a[j]= x;

  }

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

  for(j=0;j<3;j++)

  {scanf(“%f”,&x);b[j]=x;

  }

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

  for(j=0;j<3;j++)

  c[j]=a[j]+ b[j] ;

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

  { printf(“\n”);

  for(j=0;j<3;j++)

  printf(“%f”, c[j]);

  }

  printf(“\n”);

  }

  “解”程序第一段的功能是按行顺序输入数组a 的元素。程序第二段的功能是按行顺序输入数组b的元素。程序第三段的功能是顺序累加数组a和数组b的对应元素,并将和存于数组C的对应元素中。最后,按行顺序输出数组C的全部元素。

  4.4 程序设计题

  1.编程序,输入单精度型一维数组 a[10] ,计算并输出 a数组中所有元素的平均值。

  “解”为了计算数组元素的平均值,首先要累计它的全部元素的和,然后除以数组元素的个数,即得数组元素的平均值。写成C程序如下:

  # include

  main()

  { int i, n=10;

  float s,a[10] ;

  printf(“Enter %d numbers! \n”, n);

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

  { scanf(“%f”,&s); a= s;

  }

  for(s=0.0,i=0;i

  s+= a ;

  s /=n;

  printf(“平均值是%.2f\n”, s);

  }

  2.编程序,输入10个整数存入一维数组,再按逆序重新存放后再输出。

  “解”将数组的元素逆序重新存放,就是将数组的首尾对应元素两两交换。简单地可用两个游标变量i和j,i是前端元素的下标,j是后端元素的下标,交换以这两个变量值为下标的数组元素。开始时,i的值为0,j的值为末元素的下标。每次交换后,i增1,j减1.继续交换的

  条件是i

  # include

  main()

  { int a[10], i,j,t,n=10;

  printf(“Enter %d numbers! \n”, n);

  for(i=0;i

  scanf(“%d”,&a );

  for(i=0,j=n-1;i

  t= a; a=a[j] ;a[j] =t;

  }

  for(i=0; i

  printf(“%d\t”, a);

  printf(“\n”);

  }

  3.编程序,输入两个字符串(<40个字符) ,连接后输出(不准用系统函数) .

  “解”将字符串s2连接到字符串s1的计算过程可分两个步骤完成。首先找到字符串s1的末尾,然后参照字符串s2,将字符串s2的全部有效字符逐一复制到字符串s1,最后在字符串s1的末尾接上字符率结束标记符。完整程序如下:

  # include

  # define N 40

  main()

  { char s1[N] ,s2[N];

  int i,j;

  printf(“Enter stringl!\n”);

  scanf(“%s”,s1);

  printf(“Enter string2! \n”);

  scanf(“%s”, s2);

  for(i=0; sl!=‘’ ; i++) ;

  for(j=0;s2[j]!=‘’ ;i++,j++)

  so=s[j] ;

  s1=‘’

  printf(“sl=%s\n” ,sl);

  }

最后编辑:
作者:重庆自考