本文目录一览:
c语言二维数组实例
以下是几个简单的C语言二维数组实例代码
输出第n行的杨辉三角形:
#includestdio.h
void main()
{
int i,j,n; int a[100][100]={0};//定义一个二维数组。
scanf("%d",n);
a[0][1]=1;
for(i=1;in;i++)
for(j=1;ji+2;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;in;i++)
{
for(j=1;ji+2;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
样例输入:5
样例输出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
将一个n*m矩阵的行和列互换,并输出:
#includestdio.h
void main()
{
int i,j,n,m;
int a[100][100],b[100][100];
scanf("%d%d",n,m);
for(i=0;in;i++)
for(j=0;jm;j++)
{
scanf("%d",a[i][j]);
b[j][i]=a[i][j];
}
printf("输出原矩阵:\n");
for(i=0;in;i++)
{
for(j=0;jm;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
printf("输出互换后的矩阵:\n");
for(i=0;im;i++)
{
for(j=0;jn;j++)
printf("%d\t",b[i][j]);
printf("\n");
}
样例输入:
2 3
15 46 47
16 3 48
样例输出:
输出原矩阵:
15 46 47
16 3 48
输出互换后的矩阵:
15 16
46 3
47 48
C语言 定义一个整型的二维数组,要求使用二重循环,将每个数组元素都乘以3
#includestdio.h
int main()
{
int a[10][10], i = 0, j = 0;
// 这里添加初始化数组的代码
for (i = 0; i 10; i++)
for (j = 0; j 10; j++)
a[i][j] *= 3;
return 0;
}
求助。。。关于c语言2重数组的问题
#include conio.h
#include stdlib.h
#include math.h
#includestdio.h
void main()
{ int score[4][4]={{99,98,97,96},{95,94,93,92},{91,90,89,88},{87,86,85,84}};
double average[4],sum[4]={0,0,0,0};
int i,j,k=1,choice;
for(i=0;i4;i++)
for(j=0;j4;j++)
{
sum[i]+=score[j][i];
}
printf("平均成绩分别为:");
for(i=0;i4;i++)
{
average[i]=sum[i]/4;
printf("%.2lf ",average[i]);
}
while(k)
{
printf("\n请选择要查询的学号:(0:退出)");
scanf("%d",choice);
switch(choice)
{
case 1:
printf("%d号学生的成绩为:",choice);
for(i=0;i4;i++)
printf("%d ",score[0][i]);
break;
case 2:
printf("%d号学生的成绩为:",choice);
for(i=0;i4;i++)
printf("%d ",score[0][i]);
break;
case 3:
printf("%d号学生的成绩为:",choice);
for(i=0;i4;i++)
printf("%d ",score[0][i]);
break;
case 4:
printf("%d号学生的成绩为:",choice);
for(i=0;i4;i++)
printf("%d ",score[0][i]);
break;
case 0:
k=0;
break;
}
}
}
C语言中的二维数组名是一个二重指针吗?
不是
二级指针p也可以解释为指针的指针,即p内保存的值实际上还是一个指针,计算:
*p的值实际上是一个指针值,那么 *(*p)即二级指针指向的最终值
对于二维数组a[2][2],a也是一个地址,并且这个值也等于a[0],也等于a[0[0]的地址,即a[0][0],由此看来对a取地址的值是一个变量值(不是指针),所以a并不是一个二级指针,最多算一个一级指针。