丛铭俣 160809324 (作业8)

1、

#include<stdio.h>
int main()
{
    int a[100];
    int i,j,n=0;
    for(i=0;i<=100;i++)
    {
        for(j=0;j<=100;j++)
        {
            a[i]=j;
            if(a[i]%3!=0&&a[i]%7!=0)
            {
                n++;            
                printf("%d
",a[i]);
            }                                                    
        }
        break;              
    }    
    printf("还剩下%d个数
",100-n);
    return 0;
}

2、

#include<stdio.h>
int main()
{
    int a[10][10];
    int i,j;
    for(i=0;i<9;i++)
    {
        for(j=0;j<9;j++)
        {
            a[i][j]=(i+1)*(j+1);
        }
    }
    for(i=0;i<9;i++)
    {
        for(j=0;j<9;j++)
        {
            printf("%d    ",a[i][j]);
        }
        printf("
");
    }
    return 0;
} 
#include<stdio.h>
int main()
{
    int a[10][10];
    int i,j;
    for(i=9;i>0;i--)
    {
        for(j=9;j>0;j--)
        {
            a[i][j]=i*j;
        }
    }
    for(i=9;i>0;i--)
    {
        for(j=9;j>0;j--)
        {
            printf("%d    ",a[i][j]);
        }
        printf("
");
    }
    return 0;
} 

3、

#include <stdio.h>
#define n 4
#define m 4
void juzhen(int a[n][m],int b[n][m])
{
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            b[i][j]=a[j][i];
        }    
    }    
}            
void juzhen(int a[n][m],int b[n][m]);
int main()
{
    int a[n][m],b[n][m],i,j;
    printf("请输入一个4*4的矩阵:
");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            scanf("%d",&a[i][j]);
        }    
    }    
    printf("
转置后的矩阵为:
");
    juzhen(a,b);
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            printf("%d    ",b[i][j]);
        }    
        putchar(10);
    }
    return 0;
}

第3题有2个问题:1,数组里不能是变量,所以我觉得不能让用户来输入数组的长度,只能提前设定好数组长度,所以我只能用define。个人想法,求解。                           2,转置是什么意思?是让矩阵的排和列相互颠倒还是把整个矩阵翻转?

原文地址:https://www.cnblogs.com/cmy531337670/p/6061457.html