丰满少妇女人a毛片视频-酒色成人网-日韩欧美一-日韩精品一区二区av在线观看-成人久久免费-欧美精品一二三四区-国产午夜免费-亚洲男人第一天堂-一区二区三区福利视频-午夜激情影院-av中文天堂在线-免费一区二区-欧美日韩xxx-91区视频-亚洲另类激情专区小说图片-黄色的网站在线观看-香蕉精品在线

高分網(wǎng) > 答案大全 > 作業(yè)答案 > 課后作業(yè)答案 >

C語言程序設(shè)計第二版課后習題答案(3)

時間: 春燕2 課后作業(yè)答案

  C語言程序設(shè)計第六章 數(shù)組

  一、選擇題

  D A D A A C C A D

  二、程序閱讀題

  13 13 13 13 13 13

  三、上機實訓題

  1、分別用冒泡法和選擇排序法對十個隨機整數(shù)進行排序。

  參考教材

  2、編寫一個程序計算字符串中值為x(x由鍵盤輸入)的字符個數(shù)。

  #include "stdio.h"

  #include "string.h"

  main()

  { char a[20],x;

  int n=0,i=0;

  printf("\nPlease input string,end of enter key: ");

  gets(a);

  printf("\nPlease input x:");

  x=getchar();

  while(a[i]!='\0')

  {if (a[i]==x) n++;

  i++; }

  printf("\n%d",n); }

  if(x[i]>ave) printf("%f ",x[i]); }

  3、編寫一個程序判定用戶輸入的正數(shù)是否為“回文數(shù)”,所謂回文數(shù)是指數(shù)正讀反讀都相同。

  #include

  main()

  { int buffer[10],i,k,b;

  long number,n;

  printf("input a positive number:");

  scanf("%ld",&number);

  k=0;

  n=number;

  do

  { buffer[k]=n%10;

  k=k+1;

  n=n/10; } while(n!=0);

  b=1;

  for(i=0;i<=(k-1)/2;i++)

  if(buffer[i]!=buffer[k-1-i]) b=0;

  if(b) printf("%ld is huiwenshu\n",number);

  else printf("%ld is not huiwenshu\n",number); }

  4、求二維數(shù)組的周邊元素之和

  #include

  main()

  {

  int a[3][3]={{3,-2,1,2},{0,1,3,-2},{3,1,0,4}};

  int i,j,sum=0;

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

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

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

  if (i==0||j==0||j==2||i==2) sum=sum+a[i][i];

  printf("%d",sum);

  }

  5、編寫程序找出一個二維數(shù)組的鞍點。即該位置上的元素在該行最大,但是在該列最小。

  main()

  { int i,j,k,max,maxi,maxj,flag1,flag2;

  int a[2][3]={{1,2,3},{4,5,6}};

  flag2=0;

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

  { max=a[i][0];

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

  if (a[i][j]>max) { max=a[i][j]; maxj=j;}

  for (k=0,flag1=1;k<2 && flag1;k++)

  if (a[k][maxj]

  if (flag1) {printf("\n %d is answer,locate:line %d colum %d\n",max,i,maxj);

  flag2=1; } }

  if (!flag2) printf("\n no answer!"); }

  項目實訓:

  1、評定奧運會某參賽選手的成績。設(shè)某參賽選手的某項目有8位評委,要求去掉一個最高分和一個最低分,給出其最后得分。

  #include

  #define N 10 /*定義字符常量*/

  main()

  {

  int x[N],i,max,min,score=0;

  printf("Please input %d integers:\n",N);

  /*輸入N個數(shù),存入數(shù)組中*/

  for(i=0;i

  { scanf("%d",&x[i]); score+=x[i];} /*賦初值*/

  max=min=x[0]; /*將第一個數(shù)默認為最大或最小值*/

  for(i=1;i

  {

  if(max

  if(min>x[i]) min=x[i]; /*求最小值*/

  }

  printf("The last score is : %d\n",(score-max-min)/(N-2);

  }

  2、

  打印出以下楊輝三角形(要求打印出10行)。

  1

  1 1

  1 2 1

  1 3 3 1

  1 4 6  4 1

  … … … …

  #define N 11

  main()

  { int i,j,a[N][N];

  for (i=1;i

  { a[i][i]=1;a[i][1]=1;}

  for (i=3;i

  for (j=2;j<=i-1;j++)

  a[i][j]=a[i-1][j-1]+a[i-1][j];

  for (i=1;i

  { for (j=1;j<=i;j++)

  printf("%6d",a[i][j]);

  printf("\n"); }

  printf("\n"); }

  #define N 11

  main()

  {

  int i,j,a[N][N];

  for(i=1;i

  {

  a[i][i]=1;

  a[i][1]=1;

  }

  for(i=3;i

  for(j=2;j<=i-1;j++)

  a[i][j]=a[i-1][j-1]+a[i-1][j];

  for(i=1;i

  {

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

  printf("%6d",a[i][j]);

  printf("\n");

  }

  printf("\n");

  }

  本程序的運行結(jié)果為:

  1

  1 1

  1 2 1

  1 3 3 1

  1 4 6 4 1

  1 5 10 10 5 1

  1 6 15 20 15 6 1

  1 7 21 35 35 21 7 1

  1 8 28 56 70 56 28 8 1

  1 9 36 84 126 126 84 36 9 1

  3、一個程序,將字符數(shù)組s2中的全部字符拷貝到字符數(shù)組s1中。不用strcpy函數(shù)??截悤r,‘\0’也要拷貝過去。‘\0’后面的字符不拷貝。

  解:

  #include "stdio.h"

  main()

  {

  char from[80],to[80];

  int i;

  printf("Input string:");

  scanf("%s",from);

  for(i=0;i<=strlen(from);i++)

  to[i]=from[i];

  printf("the result: %s\n",to);

  }

  本程序的運行結(jié)果為:

  the result:Input string:student

  C語言程序設(shè)計第七章 函數(shù)

  一、選擇題

  B D C B B D A A D

  三、編程題

  1、寫一個判定偶數(shù)的函數(shù),在主函數(shù)中輸入一個整數(shù),輸出是否是偶數(shù)的信息。

  int even(x)

  int x ;

  { if (x%2==0) return(1);

  else return(0); }

  main()

  { int x;

  scanf("%d",&x);

  if (even(x)) printf("x is even.");

  else printf("x is not even.");}

  2、統(tǒng)計 400~499 這些數(shù)中 4 這個數(shù)字出現(xiàn)的次數(shù),要求判斷一個數(shù)有幾位4這個數(shù)字用函數(shù)實現(xiàn)。

  main()

  { int i,k=0;

  for(i=400;i<=499;i++)

  k=k+num(i);

  printf ("number=%d\n",k); }

  num(x)

  int x;

  { int y,k=0;

  while(x!=0)

  { y=x%10;

  if(y= = 4) k++;

  x=x/10; }

  return(k);}

  3、找出1000之內(nèi)的所有“完數(shù)”,要求判斷一個數(shù)是否為完數(shù)用函數(shù)實現(xiàn)。

  main()

  { int i;

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

  if (wan(i)) printf ("%5d",i);

  printf ("\n"); }

  wan(x)

  int x;

  { int i,k;

  k=0;

  for (i=1;i<=x/2;i++)

  if (x%i= =0) k=k+i;

  if (k= =x) return (1);

  else return (0); }

  項目實訓:

  1、已有變量定義和函數(shù)調(diào)用語句:int x=57;isprime (x);函數(shù)isprime ( )用來判斷一個整型數(shù)a是否為素數(shù),若是素數(shù),函數(shù)返回1,否則返回0。請編寫isprime 函數(shù)。

  isprime (int a) { }

  解:

  main()

  { int x=57;

  int isprime(int);

  if (isprime(x)) printf(“%d is prime.”,x);

  else printf(“%d is not prime.”,x);

  }

  isprime (int a)

  {int i;

  for(i=2;i

  if(a%i= =0) return 0;

  return 1;}

  2、

  輸入10個學生的成績,分別用函數(shù)實現(xiàn):

  (1)求平均成績; (2)按分數(shù)高低進行排序并輸出。

  解:main( )

  {float average(float b[]);

  void sort(float b[]);

  float a[10],j,aver;

  printf("input 10:");

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

  scanf("%f",&a[j]);

  aver=average(a);

  printf("aver=%.2f\n",aver);

  sort(a);

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

  printf("%10.2f",a[j]);

  }

  float average(float b[ ])

  {int j; float sum=0,aver;

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

  sum=sum+b[j];

  aver=sum/10.0;

  return(aver);

  }

  void sort(float b[ ])

  {int i,j,max,k;

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

  {max=b[i]; k=i;

  for(j=i+1;j<10;j++)

  if(max

  {max=b[j]; k=j;}

  b[k]=b[i];

  b[i]=max;

  }

  }

  本程序運行結(jié)果為:

  input 10:45 12 86 85 79 84 85 96 45 89 (輸入)

  aver=70.60

  96.00 89.00 86.00 85.00 85.00 84.00 79.00 45.00 45.00 12.00

23306 从江县| 扎鲁特旗| 集安市| 理塘县| 嵩明县| 远安县| 宝兴县| 将乐县| 阜城县| 休宁县| 乌兰察布市| 五华县| 高州市| 仙桃市| 宁德市| 镇安县| 安溪县| 龙州县| 湘西| 安西县| 阳山县| 安达市| 达拉特旗| 诸暨市| 塘沽区| 信宜市| 邢台市| 庐江县| 龙江县| 平安县| 武邑县| 南宫市| 沈阳市| 南通市| 西峡县| 南雄市| 祁连县| 大安市| 金门县| 磐石市| 盐津县|