你这个问题描述不清楚.
做为一个实现特定功能的代码. 需要有输入和输入.
对于输入, 需要描述从哪里取数据, 是键盘, 文件还是内存.
还需描述数字格式, 是整数还是浮点数
对于输出, 需要描述怎样输出, 是输出到屏幕, 文件还是内存.
#include "stdio.h"
void find_max(int *pScore, int nScoreLen, int *pMax, int nMaxCount, int nResultLen);
int main(int argc, char* argv[])
{
#define SCORE_LEN 10
#define MAX_COUNT 3
int a,max[MAX_COUNT], nmax=0;
int score[SCORE_LEN];
for(a = 0; a < SCORE_LEN;++a)
{
printf("%d人目の点数を入力してください", a + 1);
scanf("%d", &score[a]);
}
for(a = 0; a < MAX_COUNT; ++a)
{
find_max(score, SCORE_LEN, max, MAX_COUNT, nmax);
printf("%d %dth\r\n",score[max[nmax]], nmax+1);
nmax++;
}
return 0;
}
void find_max(int *pScore, int nScoreLen, int *pMax, int nMaxCount, int nResultLen)
{
int a, b, c = 0;
int bInitOk = 0;
for(a = 0; a < nScoreLen; ++a)
{
for(b = 0; b < nResultLen; ++b)
{
if(pMax[b] == a)
{
break;
}
}
if(b < nResultLen)
{
continue;
}
if(0 == bInitOk)
{
bInitOk = 1;
c = a;
}
else
{
if(pScore[c] < pScore[a])
{
c = a;
}
}
}
pMax[nResultLen] = c;
}
再问: 看不懂。。。本来很简单的一个程序
再答: 你可以运行看看效果. 这个是很简单的逻辑.