C语言程序,二维数组

C语言程序,二维数组,第1张

#include<stdioh>

void main(void)

{

int b[5][5],i,k,j=4;

int a[5][5]={

0,11,12,7,9,

1,9,7,4,5,

20,13,18,3,1,

14,5,6,8,2,

15,9,17,4,1

}; //定义变量,初始化数组

for(i=0;i<5;i++)

{

for(k=0;k<5;k++)

{

b[j][k]=a[i][k];

}

j--;

} //完成数组转换b

printf("输出矩阵:b=\n");

for(i=0;i<5;i++)

{

for(j=0;j<5;j++)

printf("%-5d",b[i][j]); //输出b

printf("\n");

}

}

#include<stdioh>

void main()

{

//    int a=-1;

//    printf("%12o\n",a);

    float a[3][3]={143,26,39,3,3,6,3,4,2};

    float x; int i,j;

    float maxRow[3];//记录每行的最大值

//记录每行的最大值 到maxRow[i]

    for(i=0;i<3;i++)

    {

        for (j=0;j<3;j++)

        {

            if( j==0)

            {

                maxRow[i]=a[i][j];    

            }else

            {

                if(maxRow[i]<a[i][j]){

                    maxRow[i]=a[i][j];

                }

            }

        }

    }

    //输出3行3列,每个值除以该行的最大的

    for(i=0;i<3;i++)

    {

        for (j=0;j<3;j++)

        {

            printf("%2f ",a[i][j]/maxRow[i]);//保留2位小数

        }

        printf("\n");

    }

}

运行结果:

100 018 027

050 050 100

075 100 050

#include <stdioh>

#include <stdlibh>

/ 初始化矩阵A /

void Init(int A[4][4])

{

int i,j;

srand((unsigned)time(NULL));

for(i=0; i<4; i++)

for(j=0; j<4; j++)

{

A[i][j] = rand()%100; / 得到随机整数,并使其在100以内 /

}

}

/ 显示矩阵 /

void Display(int A[4][4])

{

int i,j;

for(i=0; i<4; i++)

{

for(j=0; j<4; j++)

printf("%d\t", A[i][j]);

printf("\n");

}

}

/ 统计矩阵的所有元素之和 /

int Sum(int A[4][4])

{

int i,j;

int sum = 0;

for(i=0; i<4; i++)

for(j=0; j<4; j++)

{

sum += A[i][j];

}

return sum;

}

/ 对矩阵的每一行进行排序(简单选择排序算法,非递减排列),结果存储在另一个矩阵中 /

void Sort(int A[4][4], int B[4][4])

{

int row, i, j, k;

int temp;

for(i=0; i<4; i++)

for(j=0; j<4; j++)

{

B[i][j] = A[i][j];

}

for(row=0; row<4; row++)

{

for(i=0; i<3; i++)

{

k = i;

for(j=i+1; j<4; j++)

if(B[row][j] < B[row][k])

k = j;

if(k != i)

{

temp = B[row][k];

B[row][k] = B[row][i];

B[row][i] = temp;

}

}

}

}

void main()

{

int A[4][4], B[4][4];

int sum;

Init(A);

printf("Array A :\n");

Display(A);

sum = Sum(A);

printf("sum = %d\n", sum);

Sort(A, B);

printf("Array B :\n");

Display(B);

}

求一个二维数组元素的周边之和:源程序如下:

#define N 3//宏定义N=3

#include <stdioh>

void main()

{

int number[N][N] = { {1,2,3},{4,5,6},{7,8,9} };//定义二维数组并赋初值

int i, j;//定义循环变量

int sum = 0;//定义加和变量,并初始化赋值为0

for (i = 0; i < N; i++)//控制行变量遍历

for (j = 0; j < N; j++)//控制列变量遍历

if (i == 0 || i == (N-1) || j == 0 || j == (N-1))//判断是否为周边元素

sum += number[i][j];//进行求和运算

printf("%d", sum);//输出和

}

其中,上述程序中变量N,为数组的行列维数,可灵活进行修改。

程序运行结果如下:

扩展资料:

用行指针实现求一个二维数组四周元素的平均值。

#include <stdioh>

#include <stdlibh>

#define M 4

#define N 5

float fun(int(p)[N], int m)

{

int i, j, k = 0;//定义循环变量

float sum, ave;//定义和变量、平均数变量

sum = 0;//初始化和变量为0

for (i = 0; i < m; i++)//控制行变量遍历

for (j = 0; j < N; j++)//控制列变量遍历

if(i == 0 || i == (m-1) || j == 0 || j == (N-1))//判断是否为周边元素

{

sum += p[i][j]; //进行求和运算

k++;

}

ave = sum / k;//求平均

return ave;//返回平均数

}

int main()

{

int a[M][N] = { {1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20} };

int i, j;

float ave;

for (i = 0; i < M; i++)//遍历打印出数组全部元素

{

for (j = 0; j < N; j++)

printf("%4d", a[i][j]);

printf("\n");

}

ave = fun(a,M);//函数计算并返回平均值

printf("average=%2f\n", ave);//输出平均值

system("pause");//任意键继续

return 0;

}

扩展资料程序运行结果:

#include <stdioh>

#include <malloch>

#include <timeh>

#include <stdlibh>

int main()

{

int m,n;

int a;

int i,j;

printf("输入m和n,空格分隔:");

scanf("%d%d",&m,&n);

a=(int)malloc(sizeof(int)m);

for(i=0;i<m;i++)

{

a[i]=(int)malloc(sizeof(int)n);

}

srand(time(0));

printf("随机填充数组如下:\n");

for(i=0;i<m;i++)

{

for(j=0;j<n;j++)

{

a[i][j]=rand()%100;

printf("%-4d",a[i][j]);

}

printf("\n");

}

for(i=0;i<m;i++)

free(a[i]);

free(a);

return 0;

}

以上就是关于C语言程序,二维数组全部的内容,包括:C语言程序,二维数组、c语言编程二维数组、C语言,一个简单的二维数组程序设计.大虾来帮帮忙啊...等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9390393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存