解题思路:

1. 导入所需的头文件,其中包括<stdio.h>和<math.h>,用于输入输出和数学计算。

2. 声明变量m、n、i、j,以及两个二维数组a和b,分别表示矩阵的大小和内容。

3. 使用scanf函数从标准输入获取m和n的值,表示矩阵的行数和列数。

4. 使用嵌套循环遍历a矩阵,从标准输入获取每个元素的值保存到a[i][j]。

5. 使用嵌套循环遍历b矩阵,从标准输入获取每个元素的值保存到b[i][j]。

6. 声明一个名为count的整数变量,并初始化为0,用于统计相同元素的数量。

7. 再次使用嵌套循环遍历矩阵a和b,并比较对应位置上的元素是否相同。如果相同,则将count加1。

8. 声明两个浮点数变量tot和ave。tot用于保存矩阵中元素的总数,ave用于保存相同元素百分比。

9. 计算tot的值为m乘以n。

10. 计算ave的值为count乘以100除以tot。

11. 使用printf函数将ave按照保留两位小数的格式输出。

12. 返回0,表示程序运行结束。


注意事项:

参考代码:

#include <stdio.h>
#include <math.h>
int main()
{
 int m,n,i,j;
 int a[100][100];
 int b[100][100];
 scanf("%d%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++)
  	{
  		scanf("%d",&b[i][j]);
	}
  }
  int count=0;
  for(i=0;i<m;i++)
  {
  	for(j=0;j<n;j++)
  	{
  		if(a[i][j]==b[i][j])
  		count++;
	}
  }
  float tot=m*n;
  float ave=count*100/tot;
  printf("%.2f",ave);
    return 0;
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论