1、写一个函数,求二维数组是否对称(左右对称/上下对称)
#include<stdio.h>
#define N 5
#define m 4
//写一个函数,求二维数组是否对称
/*
Pand_duic:判断二维数组是否对称
@a:二维数组数组名
@n:二维数组元素个数
返回值
*/
int Pand_duic(int a[][N],int n)
{
int i,j,k;
int count=0,c=0;
for(i=0;i<n/2;i++)
{
for(j=0;j<N;j++)
{
if(a[i][j]==a[n-1-i][j])
{
count++;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<N/2;j++)
{
if(a[i][j]==a[i][N-1-j])
{
c++;
}
}
}
if(count==m/2*N||c==N/2*m)
{
printf("对称\n");
}
else
printf("不对称\n");
}
int main()
{
int a[m][N];
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<N;j++)
{
scanf("%d",&a[i][j]);
}
}
Pand_duic(a,m);
}
2、求一个整数的二进制形式中有多少个1
#include<stdio.h>
//写一个函数,求一个整数的二进制形式中有多少个1 ?
/*
Get_One: 求一个整数的二进制形式中有多少个1
@a : 数组名
@b : 数组元素个数
返回值:返回一个整数值=>int
*/
int Get_One(int x)
{
int n;
while(x!=0)
{
if(x%2==1)
{
n++;
}
x=x/2;
}
return n;
}
int main()
{
int x;
scanf("%d",&x);
printf("%d\n",Get_One(x));
}
3、打印n行n列的杨辉三角形
#include<stdio.h>标签:int,C语言,---,二维,数组,printf,对称,习题,define From: https://blog.51cto.com/u_15860837/5978762
#define N 4
#define n 6
// 打印n行n列的杨辉三角形。
/* 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1*/
/*
Yanghui: 打印n行n列的杨辉三角形
@a : 数组名
@m : 数组元素个数
返回值
*/
int Yanghui(int a[][N],int m)
{
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<=i;j++)
{
if(i==j||j==0)
{
a[i][j]=1;
}
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
}
int main()
{
int i,j;
int a[n][N];
Yanghui(a,n);
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}