我的C语言不好,谁帮我仔细翻译一下下面的这个程序,翻译每个语句的含义、功能! 谢谢~~

#include <stdio.h>
#include <stdlib.h>
#include <TIME.H>

int OutputMaxAndCount(int a[200],int &max)
{
int cnt1 = 0;

for(int i=0;i<200;i++)
{
if(max < a[i])
{
max = a[i];
cnt1 = 1;
}
else if(max == a[i])
{
cnt1++;
}
}

printf("MAX=%d\r\n",max);
printf("cnt1=%d\r\n",cnt1);

return cnt1;
}

int OutputMinAndCount(int a[200],int &min)
{
int cnt2 = 0;

for(int i=0;i<200;i++)
{
if(min > a[i])
{
min = a[i];
cnt2 = 1;
}
else if(min == a[i])
{
cnt2++;
}
}

printf("MIN=%d\r\n",min);
printf("cnt2=%d\r\n",cnt2);

return cnt2;
}

void OutputPJ(float num,int count)
{
float pj;
pj = num/count;

printf("pj=%0.2f\r\n",pj);
}

int main()
{
int num[200];
int max = 0,min = 65535,cnt1,cnt2;
float sum = 0;

for(int i=0;i<200;i++)
{
srand(i+time(0));
num[i] = rand()%100;
sum += (float)num[i];
}

cnt1 = OutputMaxAndCount(num,max);
cnt2 = OutputMinAndCount(num,min);
OutputPJ(sum,200-cnt1+cnt2);

return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <TIME.H>

//a数组求最大值,max为最大值,返回的是最大数的个数,并打印
int OutputMaxAndCount(int a[200],int &max)
{
int cnt1 = 0;

for(int i=0;i<200;i++)//循环遍历数组
{
if(max < a[i])//如果这个数为当前最大,记下最大值,并把最大值个数复位为1
{
max = a[i];
cnt1 = 1;
}
else if(max == a[i])//如果这个值等于最大值,最大值个数加1
{
cnt1++;
}
}

printf("MAX=%d\r\n",max);//打印最大值
printf("cnt1=%d\r\n",cnt1);//打印最大值个数

return cnt1;
}

//a数组求最小值,min为最小值,返回的是最小数的个数,并打印
int OutputMinAndCount(int a[200],int &min)
{
int cnt2 = 0;

for(int i=0;i<200;i++)//循环遍历数组
{
if(min > a[i])//如果这个数为当前最小,记下最小值,并把最小值个数复位为1
{
min = a[i];
cnt2 = 1;
}
else if(min == a[i])//如果这个值等于最小值,最小值个数加1
{
cnt2++;
}
}

printf("MIN=%d\r\n",min); //打印最小值
printf("cnt2=%d\r\n",cnt2); //打印最小值个数

return cnt2;
}

//打印num除已count的值,保留两位小数
void OutputPJ(float num,int count)
{
float pj;
pj = num/count;

printf("pj=%0.2f\r\n",pj);
}

int main()
{
int num[200];
int max = 0,min = 65535,cnt1,cnt2;
float sum = 0;

for(int i=0;i<200;i++)
{
srand(i+time(0));//设置随机函数种子
num[i] = rand()%100;//随机一个数,并对100取余,使num[i]是在100以内的随机数
sum += (float)num[i];
}

cnt1 = OutputMaxAndCount(num,max);
cnt2 = OutputMinAndCount(num,min);
OutputPJ(sum,200-cnt1+cnt2);//对sum(数组的和)的值来除以(200-cnt1+cnt2)的值;

return 0;
}追问

我想让您帮我写一下这个程序编写的设计思路,可以吗?还可以加分,要求详细!~~
谢谢啊~
朋友~!紧急!

追答

给你的注释不就能看到思路了,你组织下语言就行了。

追问

哦~~
谢谢你~我就是想让你帮我写一个整体的解释、理解~
是什么函数?
是按摩函数?

追答

大哥~那不是函数,那是包含的头文件stdio.h头文件里有输入输出函数的定义,要用printf 和scanf就得包含这个文件,time,h是包含时间方面的处理函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-27
前面的三行是头文件,不用管。4行开始定义的参数类型为整形变量()里面的是一个整形200的数组,合数组最大值组成,后面是从i=0开始执行以下循环,如果在200以内持续执行循环。>200执行else,紧接着是打印输出执行结果,依次类推吧!
第2个回答  2011-05-27
定义的三个函数
第3个回答  2011-05-27
OutputMaxAndCount(int a[200],int &max)是求数组最大值和最大值的个数
OutputMinAndCount(int a[200],int &min)是求数组最小值和最小值的个数
OutputPJ(float num,int count)是求平均值
相似回答