学习记录10

本周学习了C语言中的二维数组;

下面是一个简单的代码,利用了二维数组的功能进行实现:

#include <stdio.h>  
int main() {  
	int t,n,i,j,k;
	int a[10][10]; 
	scanf("%d",&t);
	int count=0;
	int b[10]={0};  //记录判断记录 
	
	for(k=0; k<t; k++){
		//读入矩阵 
		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<n; j++){
				if(i>j && a[i][j] != 0){
					count++;
				}
			}		
		}
		if(count==0 ){
    		b[k] = 1;
    	}else{
    		b[k] = 0;
    	}
    	count=0;		
	}
	
	for(k=0; k<t; k++){
		if(b[k]==1){
			printf("YES\n");
		}else{
			printf("NO\n");
		} 
	}
	
    return 0;  
}

这个代码能够接收多个矩阵数据并把数据储存在二维数组内,之后遍历数组判断上三角矩阵和下三角矩阵是否都为数据零;

二维数组定义:    int a[10][10]; 第一个括号里定义10行,第二个括号定义10列,因此数组为10x10=100 的存储数量;

引用: a[i][j] ;在括号内写下相应的下标,与一维数组一样,二维数组下标也是从0开始到长度-1下标结束;

初始化赋值:1.分行赋值 ,int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}  ,也可以针对部分元素赋值;

2.顺序赋值:int a[2][2]={1,2,3,4},这种赋值方法需要注意你的赋值顺序;

使用数组时依旧可以与for循环结合使用;

for(i=0; i<n; i++){
            for(j=0; j<n; j++){
                scanf("%d",&a[i][j]);    
            }        

这样可以把数据存储或者取出数组数据;

二维数组矩阵术语和下标具有特殊的规律;

 通过这些规律我们可以进行更多功能使用,比如判断上三角矩阵以及方阵置换等;

最后讲一下一维字符数组:

其功能就是存储字符型数据,使用和定义与一维数组方法一样;

字符串常量就是用一对双引号括起来的字符序列,其中最后结尾有一个结束标志‘\0’;例如“Happy”

其实质长度是5,数组输入可以为:static char s[6]={"Happy"};这个时候数组储存就需要至少6个储存长度了;

这学期结束前我会用C语言做一个井字棋游戏,有时间进行记录;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值