C语言知识串讲(CH6)

1.一维数组的定义和引用,一维数组的初始化及程序。
2.二维数组的定义和引用,二维数组的初始化及程序。
3.字符数组的定义、引用及初始化,字符串和字符串结束标志,字符数组的输入输出,字符数组编程应用。

附:有关数组的部分编程题

1.求3*4矩阵中的最大值

#include<stdio.h>

int maxValue(int arr[][4]){
    int i,j,max;
    max=arr[0][0];
    for(i=0;i<3;i++){
        for(j=0;j<4;j++){
            if(arr[i][j]>max){
                max=arr[i][j];
            }
        }
    }
    return max;
}

int main(){
	int a[3][4]={{5,3,2,7},{56,34,28,9},{12,88,45,4}};
	printf("输出的最大值是:%d", maxValue(a));
}

2.输出n阶奇数魔方阵

#define N 5
#include<stdio.h>
int main()
{
int a[N][N],i,j,k;
for(i=0;i<N;i++)    /*先处理第一行*/
for(j=0;j<N;j++){
  a[i][j]=0;     /*先令所有元素都为0*/
}
j=(N-1)/2;     /*判断j的位置*/
a[0][j]=1;    /*将1放在第一行中间一列*/
for(k=2;k<=N*N;k++)    /*再从2开始处理*/
{
  i=i-1;    /*存放的行比前一个数的行数减1*/
  j=j+1;    /*存放的列比前一个数的列数加1*/
  if((i<0)&&(j==N))   /*前一个数是第一行第N列时,把下一个数放在上一个数的下面*/
  {
    i=i+2;
    j=j-1;
  }
  else
  {
    if(i<0)    /*当行数减到第一行,返回到最后一行*/
    i=N-1;
    if(j>N-1)   /*当列数加到最后一行,返回到第一行*/
    j=0;
  }
  if(a[i][j]==0)     /*如果该元素为0,继续执行程序*/
    a[i][j]=k;
  else     /*如果该元素不为0,就说明要填的数的位置已经被占,则该数放在上一个数的下面*/
  {
    i=i+2;
    j=j-1;
    a[i][j]=k;
  }
}
for(i=0;i<N;i++)    /*输出数组*/
{
  for(j=0;j<N;j++)
   printf("%5d",a[i][j]);
  printf("\n\n");
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值