3 条题解

  • 2
    @ 2023-7-30 21:24:49

    yasuo👀️

    一次for嵌套循环直接解决问题

    #include <iostream>
    int main(){
        int m,n,a,sum=0;std::cin>>m>>n;
    	for(int i=1;i<=m;i++)
    	    for(int j=1;j<=n;j++){
    		    std::cin>>a;if(i==1||i==m||j==1||j==n) sum+=a;}
    	std::cout<<sum;return 0;}
    
    • 1
      @ 2023-6-25 13:27:08

      解题思路:

      1.由题意得,计算二维数组边缘的元素之和,首先定义一个二维数组,定义在主函数外,并且多开几个空间

      2.依次输入二维数组中的元素,并且都添加到累加器中

      3.开始遍历,发现如果是位于边缘元素的话,i1或者im或者j1或者jn,这类的元素值跳过,否则,从累加器依次减去

      4.输出sum的值,即为边缘元素的和

      #include<bits/stdc++.h>
      using namespace std;
      int a[105][105];
      int main()
      {
      	int m,n,sum=0;
      	cin>>m>>n;//输入行数和列数 
       
      	for(int i=1;i<=m;i++)
      	for(int j=1;j<=n;j++)
      	{
      		cin>>a[i][j];//输入二维数组元素 
      		sum+=a[i][j];//都添加到累加器中 
      	}
       
      	for(int i=1;i<=m;i++)
      	for(int j=1;j<=n;j++)
      	{
      		if(i==1||i==m||j==1||j==n)//如果是位于边缘的元素,继续遍历 
      		continue;
      		else
      		sum-=a[i][j];//否则,减去该元素的值 
      	}
       
      	cout<<sum;//输出累加器 
      	return 0;
      }
      
      
      
      
      • 0
        @ 2024-6-15 20:55:52
        #include <bits/stdc++.h>
        using namespace std;
        int main()
        {
            int a[105][105];
            int m,n;
            int sum = 0;
            cin >> m >> n;
            for(int i = 1;i<=m;i++)
            {
                for(int j = 1;j<=n;j++)
                {
                    cin >> a[i][j];
                }
            }
            for(int i = 1;i<=m;i++)
            {
                for(int j = 1;j<=n;j++)
                {
                    if(i==1||i==m||j == 1||j==n)//判断边缘的条件:如果在第一行或第m行或第一列或第n列
                        sum += a[i][j];
                }
            }
            cout <<sum;
            return 0;
        }
        
        • 1

        信息

        ID
        203
        时间
        1000ms
        内存
        128MiB
        难度
        1
        标签
        递交数
        88
        已通过
        66
        上传者