

 

 
void s22()
{
    //矩阵置换
    freopen("matrix3.in","r",stdin);
    freopen("matrix3.out","w",stdout);
    int n,m;
    int N[110][110],M[110][110];
    cin>>n>>m;
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
        {
            cin>>N[i][j];
            M[j][i]=N[i][j];//置换 
        }
    }
    for (int j=0;j<m;j++)
    {
        for (int i=0;i<n;i++)
        {
            cout<<M[j][i]<<(i==n-1?'\n':' ');//如果 i==n-1 则换行,否则输出空格 
        }
    }    
    fclose(stdout);
    fclose(stdin);
} 
 

 

 

 
void s21()
{
    //杨辉三角 
    int N=200;
    int n,a[N][N]= {0}; //注意:a[N][N]必须赋初值
    cin>>n;
    for(int i=1; i<=n; i++)
      a[i][i]=1,a[i][1]=1;//注意此处用了逗号,所以整行算一条语句
    for(int i=3; i<=n; i++) //从第3行开始循环赋值
      for(int j=2; j<=i-1; j++)//从该行的第2列到倒数第2列
        a[i][j]=a[i-1][j-1]+a[i-1][j];
    for(int i=1; i<=n; i++) //打印
      for(int j=1; j<=i; j++)
        cout<<a[i][j]<<(j==i?"\n":" ");
} 
 
 

 

 

 
#include <iostream>
#include<string.h>
using namespace std;
void s14()
{
    //扫雷游戏
    int x[8]= {-1,-1,-1, 0, 0, 1,1, 1};//增量数组
    int y[8]= {-1, 0, 1, 1, -1,1,0,-1}; 
    freopen("game.in","r",stdin);
    freopen("game.out","w",stdout);
    int g[105][105];
    char c;
    //函数原型是:void *memset(void *s, int ch, size_t n);    
    memset(g,0,sizeof(g));
    int n,m;
    cin>>n>>m;
    getchar();
    for(int i=1; i<=n; i++)//要从下标1开始
      for(int j=1; j<=m; j++)
      {
        cin>>c;
        if(c=='*')
          g[i][j]=-1;
      }
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=m; j++)
        {
            if(g[i][j]!=-1)      //如果当前位置不是地雷
            {
                int sum=0;
                for(int k=0; k<=7; k++)
                {
                    if(g[i+x[k]][j+y[k]]==-1)//累加周围的地雷数
                    {
                        sum++;
                    }
                }
                cout<<sum;
            }
            else
            {
                cout<<'*';
            }
            
        }
        cout<<endl;             
    }
    fclose(stdout);
    fclose(stdin);     
 } 
 

 

 

 

 
void s15()
{    
    //矩阵乘法 
     freopen("juzhenchengfa.in","r",stdin);
    freopen("juzhenchengfa.out","w",stdout);    
    int m,n,k,c;
    cin>>n>>m>>k;//a :n行m列; b:m行k列; a*b : n行k列 ;
    int a[n][m]={0},b[m][k]={0},c1[n][k]={0};    
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
        {            
            cin>>a[i][j]; 
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    for (int i=0;i<m;i++)
    {
        for (int j=0;j<k;j++)
        {            
            cin>>b[i][j];
            cout<<b[i][j]<<" ";            
        }
        cout<<endl;
    }
    memset(c1,0,sizeof(c1));
    for (int i=0;i<n;i++)
    {    
        for (int j=0;j<k;j++)
        {
            //c1[i][j]=0;
            for (int l=0;l<m;l++)
            {
                c1[i][j] += a[i][l] * b[l][j];
            }
            cout<<c1[i][j]<<" ";
        }
        cout<<endl;
    } 
    /* 
    for (int i=0;i<n;i++)
    {  
        for (int j=0;j<k;j++)
        {
            cout<<c1[i][j]<<" ";
        }
        cout<<endl;
    }
    */
    fclose(stdin);     
    fclose(stdout);    
    cout<<"OK";    
}