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<stdio.h>
  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<stdio.h>
  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<stdio.h>
  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]<score[i][j+1])
 22                 {
 23                     int max=score[i][j+1];
 24                     score[i][j+1]=score[i][j];
 25                     score[i][j]=max;
 26                 }
 27             }
 28         }
 29     }   
 30     for(i=0;i<5;i++)
 31     {
 32         for(j=0;j<4;j++)
 33         {
 34             printf("请输入第%d个学生的第%d门成绩为%d:",i,j,score[i][j]);
 35         }
 36     }
 38     return 0;
 39 }                                                                                                                            
~                      

地址法:

  1 #include<stdio.h>
  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 }           

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值