写博客的第五周

啊哈 不知不觉已经坚持一个月了 来到第五周 这段时间 我在c的路上成长很多 迫不及待的想和你们分享 这周来聊聊数组

1 简单打印图形

输入
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
1 <= n, m <= 26。
输出
输出打印的图形
样例输入
5 7
样例输出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC

#include <stdio.h>
#include <math.h>

int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    int a[m][n];
    for (int i=0;i<m;i++)
    {
        for (int j=0;j<n;j++)
        {
            a[i][j]=abs(i-j)+65;//确保都是在A-Z之间
            printf("%c",a[i][j]);

        }
        printf("\n");

    }

    return 0;
}

2 数组三角方阵的判断

编写程序,输入一个正整数n(1<=n<=10)和n阶方阵a中的元素,如果a是上三角矩阵,输出“YES”,否则,输出“NO”。
上三角矩阵即主对角线以下(不包括主对角线)的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。

要求定义函数IsUpperTriMatrix()判断矩阵a是否是上三角矩阵,如果是返回1,否则返回0。函数原型如下:

IsUpperTriMatrix(int a, int n);

输入
输入一个正整数n(1<=n<=10)和n阶方阵a中的元素,均为整数。

输出
如果a是上三角矩阵,输出“YES”,否则,输出“NO”

样例输入
4
1 2 3 4
0 2 2 2
0 0 3 4
0 0 0 4
样例输出
YES

#include <stdio.h>
int main()
{
    int a[10][10];
    int d=1,i,j,n;
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
        for (j=0;j<n;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
        for (i=0;i<n;i++)
        {
            for (j=0;j<i;j++)//下三角 注意观察 实在i=j 之下 则只需要j<i 就行
            {
                if(a[i][j]!=0)
                    d=0;
            }
        }
            if(d)
                printf("YES");
            else
                printf("NO");
            return 0;
}

3 多组数组转换矩阵

题目描述
求一个N行N列的矩阵的转置矩阵。(矩阵的行换成列,列换成行。)
输入
第一行一个整数n<20,表示有n组测试数据,下面是n组数据;
第二行是一个数N(2<N<10)
接下来N行每行有N个整数(所有数据均小于10000)。
输出
输出每组测试数据的转置矩阵;
每个数字后加一个空格,
请在每组输出之后加一个换行。
提示(每行最后一个数字后面也有一个空格)
样例输入
2
3
1 2 3
4 5 6
7 8 9
3
9 8 7
6 5 4
3 2 1
样例输出
1 4 7
2 5 8
3 6 9
9 6 3
8 5 2
7 4 1

#include<stdio.h>
int main()
{
    int m,n;//int a;
    scanf("%d",&n);
    while(n--)//for(a=0;a<n;a++)
    {
        scanf("%d",&m);
        int a[m][m],i,j;
        for(i=0; i<m;i++)
        {
            for(j=0; j<m; j++)
            {
                scanf("%d",&a[i][j]);

            }
        }

      for(i=0; i<m; i++)
        {
            for(j=0; j<m; j++)
            {
                printf("%d ",a[j][i]);
            }

            printf("\n");
        }
    }
    return 0;
}

这就是本周的全部的全部内容啦
现在总结一下
**1 数组的问题一般都是两个循环定义 一个赋值 一个输出
2 数组问题千篇一律 但原理简单 只需判断条件上多加判断 **

(以上内容全为原创 如有问题多多指正 小编不胜感激)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值