
c程序设计数组求助
2个回答
展开全部
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
#define ROW 5
#define COL 10
int array[ROW][COL];
int max[ROW];
void Print()
{
int i, j;
for (i = 0; i < ROW; i ++)
{
for (j = 0; j < COL; j ++)
{
printf("%5d", array[i][j]);
}
printf("%10d\n", max[i]);
}
}
void FindMax()
{
int i, j;
int nMax;
for (i = 0; i < ROW; i ++)
{
nMax = 0;
for (j = 0; j < COL; j ++)
{
if (array[i][j] > nMax)
{
nMax = array[i][j];
}
}
max[i] = nMax;
}
}
int Random()
{
int nValue;
do
{
nValue = rand() % 1000;
} while (nValue > 999 || nValue < 100);
}
void FillArray()
{
int i, j;
for (i = 0; i < ROW; i ++)
{
for (j = 0; j < COL; j ++)
{
array[i][j] = Random();
}
}
}
int main()
{
srand(time(NULL));
FillArray();
FindMax();
Print();
return 0;
}
测试结果:
追问
53行错误,说是must return a value
追答
忘了,Random函数后面加一条 return nValue;
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
#define ROW 5
#define COL 10
int array[ROW][COL];
int max[ROW];
void Print()
{
int i, j;
for (i = 0; i < ROW; i ++)
{
for (j = 0; j < COL; j ++)
{
printf("%5d", array[i][j]);
}
printf("%10d\n", max[i]);
}
}
void FindMax()
{
int i, j;
int nMax;
for (i = 0; i < ROW; i ++)
{
nMax = 0;
for (j = 0; j < COL; j ++)
{
if (array[i][j] > nMax)
{
nMax = array[i][j];
}
}
max[i] = nMax;
}
}
int Random()
{
int nValue;
do
{
nValue = rand() % 1000;
} while (nValue > 999 || nValue < 100);
return nValue;
}
void FillArray()
{
int i, j;
for (i = 0; i < ROW; i ++)
{
for (j = 0; j < COL; j ++)
{
array[i][j] = Random();
}
}
}
int main()
{
srand(time(NULL));
FillArray();
FindMax();
Print();
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询