实验五 数组及其应用进阶(一)

1.演示复习,引出实验任务

【例】有一个3×4的矩阵,要求编程序以求出其中值最大的那个元素的值及其所在的行号和列号。

#include<stdio.h>

#define  n  4

#define  m  3

int  main()

{

       int a[m][n],i,j,p,q,max;

       printf("请输入%d数",m*n);     

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

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

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

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

       {

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

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

           printf("\n");

}

max=a[0][0];

p=0;q=0;

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

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

                     if(a[i][j]>max)

                     {

max=a[i][j];

                     p=i;

                     q=j;

                     }

printf("最大值为%d 行号为%d 列号为%d",max,p+1,q+1);

return 0;}

(1) 数组名的命名规则和变量名相同,遵循标识符命名规则。

(2) 在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组长度。

(3) 在定义时,常量表达式中可以包括常量和符号常量,不能包含变量。

(4) 数组的基本操作:引用数组元素、行(列)求和,行(列)最大最小值,整个数组的输入输出等。

2.布置实验任务

【任务1】有一个4×5的矩阵,要求编程序以求出其中值最大的那个元素的值及其所在的行号和列号。

【任务2】设有一个二维数组A(4,4),数据自已给出。请编程:求两条对角线元素之和,并输出。

#include<stdio.h>

#define   n    4

#define   m   4

int  main()

{

       int a[m][n],i,j,s=0,l=0,k=0,o=0,r=0;

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

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

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

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

       {

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

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

           printf("\n");

}

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

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

           if(i+j==3 || i==j)

                s+=a[i][j];

printf("对角线元素之和为%d\n",s);

}

【任务3】设有一个二维数组A(4,4),数据自已给出。请编程:交换第二行和第三行的位置,并输出处理后的数据。

【任务4】举一反三:输入十个学生的成绩到数组A,然后将大于平均分的成绩放入数组B中,并输出。

#include<stdio.h>

#define   n   10

int  main()

{

int a[n],b[n],i,j=0,m,aver,s=0;

printf("请输入%d数",n);

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

scanf("%d",&a[i]);

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

s+=a[i];

aver=s/n;

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

       if(a[i]>aver)

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

       m=j;

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

printf("高于平均分得有%4d\n",b[j]);

    return  0;

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值