|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#include <stdlib.h>
#include<memory.h>
int max[4][3]; //这里为什么要定义全局变量,定义在main函数里的局部变量输出一维数组中的值好像不对?为什么?能为我解下惑吗?
int k[4];
int main(void)
{ int i, j;
char *a[4][3] = { {"学号","34","65"},{"11","学号","78"},{"25","90","学号"},{"34","41","89"} }; //这里为什么用二维指针数组,用二维数组好像会报错,求解惑,谢谢
printf("二维表如下:\n");
for(i = 0; i < 4; i++)
{
for(j = 0; j < 3; j++)
{
printf("%s ", a[i][j]); //按二维表格形式输出4*3表格数据
}
printf("\n");
}
for(i = 0; i < 4; i++)
{
for(j = 0; j < 3; j++)
{
if(a[i][j] != a[i][i]) //将不是"学号"的字符转换为整形
{
max[i][j] = atoi(a[i][j]); //atoi是将字符转换为整形的函数
}
}
}
for(i = 0; i < 4; i++)
{
for(j = 0;j < 3; j++)
{
if(max[i][j] >= k[i])
{
k[i] = max[i][j]; //对比二维表格中每一行的数据将最大值,放在相应的一维表格中
}
}
}
printf("一维表格的内容是:\n");
for(i = 0; i < 4; i++)
{
printf("%d ",k[i]);
}
}
你看里面的每一个元素是不是二维的,比如{"学号","34","65"}
|
|