普通女孩组图同一个人:救命啊!!我们明天考试!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 13:55:02
我们明天考试!!!考C语言!!
我一点都不懂``有2个编程题``
一个是求最小公约数最大公倍数!
还有一个是输入学生的情况 成绩等 求平均成绩和前5名和最后一名~~~!

以下程序是经VC++测试过的标准C程序,不会用vc的不要乱说

求最大公约数,最小公倍数完整程序如下:
#include<stdio.h>

void count(int a, int b, int &gy, int &gb) //gy:最大公约数 gb:最小公倍数
{
int aa;
for(aa=1;aa<=b;aa++)
if(a*aa%b==0)
{
gb=a*aa;
gy=a*b/gb;
break;
}
}

main()
{
int a, b;
count(12,24, a, b);
printf("gy=%d gb=%d\n", a, b);
}

第二题:
设数组uid[num]中存成绩,则程序如下:
void count(int avg, int fid, int lid) //avg为平均成绩,fid为最高成绩的id,lid为最低成绩的id
{
int allc=0; //存总成绩
int a;
for(a=0;a<num;a++)
allc+=uid[a];
avg=allc/num;
fid=lid=0;
for(a=0;a<num;a++)
{
if(allc[a]>allc[fid]) fid=a;
if(allc[a]<allc[uid]) uid=a;
}
}

两个程序我都调试了,用VC++,都有错啊,不过楼主也不妨一用
最大公约数可以用这个思想:M,N,两个数,假设M>N,用M/N,余数为R,如果R=0,则M为公约数,如果R!=0,则将N赋值给M,R赋给N,M=N,继续做M/N,循环直至R=0,此时的M的值就是要求的最大公约数。

应该怎么做就去怎么做用用脑子