匿名用户
1级
2011-12-19 回答
以下代码应该能够达到你的要求!
另外:代码未作容错处理,即未加入对输入值正确性的判断,请自行修改。
#include
#include
#include
int main(void)
{
int nRows, nColumns, i, j;
int **ppInt = NULL;
printf("请输入数组行数和列数(用空格分隔):\n");
scanf("%d %d", &nRows, &nColumns);
ppInt = (int **)malloc(nRows * sizeof(int *));
for(i = 0; i < nRows; i++)
{
ppInt[i] = (int *)malloc(nColumns * sizeof(int));
}
for(i = 0; i < nRows; i++)
{
for(j = 0; j < nColumns; j++)
{
printf("请输入第%d个整数(共%d个):\n", i * nColumns + j + 1, nRows * nColumns);
scanf("%d", &ppInt[i][j]);
ppInt[i][j] *= -10;
}
}
printf("以下输出数组(每个数是输入值的10倍相反数):\n");
for(i = 0; i < nRows; i++)
{
for(j = 0; j < nColumns; j++)
{
printf("%8d", ppInt[i][j]);
}
printf("\n");
}
for(i = 0; i < nRows; i++)
{
free(ppInt[i]);
}
free(ppInt);
return 0;
}