2.13 作业

一、选择题

1-5        BBBDC

6- 10       BCCDD

二、填空题

1.

1 4 13

2.

3715

3.

358

4.

1

5.

4 5 8 2 0

6.

13

3.1

下标法:

  1 #include
  2 int main(int argc, const char *argv[])
  3 {
  4     int score[10]={60,70,73,76,80,83,85,90,92,96,99};
  5     int max=0;
  6     int i=0;
  7     int j=0;
  8     for(i=0;i<10;i++)
  9     {
 10         if(score[i]>max)
 11             max=score[i];
 12             j=i;
 13     }
 14     printf("最高成绩为:%d,序号为:%d",max,j);
 15     return 0;
 16 }                    

地址法:

  1 #include
  2 int main(int argc, const char *argv[])
  3 {
  4     int score[10]={60,70,73,76,80,83,85,90,92,96,99};
  5     int *max=score;
  6     int i=0;
  7     int j=0;
  8     for(i=0;i<10;i++)
  9     {
 10         if(score[i]>*max)
 11             max=&score[i];
 12             j=i;
 13     }
 14     printf("最高成绩为:%d,序号为:%d",*max,j);
 15     return 0;
 16 }                                                                  
~                           

3.2

下标法:

 1 #include
  2 int main(int argc, const char *argv[])
  3 {
  4     int score[5][4];
  5     int i=0;
  6     int j=0;
  7     for(i=0;i<5;i++)
  8     {
  9         for(j=0;j<4;j++)
 10         {
 11             printf("请输入第%d个学生的第%d门成绩",i,j);
 12             scanf(" %d",&score[i][j]);
 13         }
 14     }
 15     for(i=0;i<5;i++)
 16     {
 17         for(int k=0;k<3;k++)
 18         {
 19             for(j=0;j<3;j++)
 20             {
 21                 if(score[i][j]

地址法:

  1 #include
  2 int main(int argc, const char *argv[])
  3 {
  4     int score[5][4];
  5     int **p=score;
  6     int i=0;
  7     int j=0;
  8     for(i=0;i<5;i++)
  9     {
 10         for(j=0;j<4;j++)
 11         {
 12             printf("请输入第%d个学生的第%d门成绩",i,j);
 13             scanf(" %d",(*(p+i)+j);
 14         }
 15     }
 16     for(i=0;i<5;i++)
 17     {
 18         for(int k=0;k<3;k++)
 19         {
 20             for(j=0;j<3;j++)
 21             {
 22                 if(*(*(p+i)+j)<*(*(p+i)+j+1))
 23                 {
 24                     int max=*(*(p+i)+j+1);
 25                     *(*(p+i)+j+1)=*(*(p+i)+j);
 26                     *(*(p+i)+j)=max;
 27                 }
 28             }
 29         }
 30     }
 31     for(i=0;i<5;i++)
 32     {
 33         for(j=0;j<4;j++)
 34         {
 35             printf("请输入第%d个学生的第%d门成绩为%d:",i,j,*(*(p+i)+j));
 36         }
 37     }
 38     return 0;
 39 }           

你可能感兴趣的:(算法,c++,数据结构)