51Testing软件测试论坛
标题:
一道C语言程序设计面试
[打印本页]
作者:
fanping5817
时间:
2007-12-17 17:31
标题:
一道C语言程序设计面试
对于一次考试成绩进行统计,考M科,(如六科,语文、政治、数学、物理、化学、外语),有N人(如10000人)参加。
统计要求;每个人的总成绩(total)
每科的平均成绩
以个人总分的成绩排序,最高分排在第一名,最后输出的表格如下所示。
名次 考号 姓名 语文 政治 数学 物理 化学 外语 总分
---------------------------------------------------------------------------------------
1
2
3
---------------------------------------------------------------------------------------
平均成绩
作者:
fanping5817
时间:
2007-12-18 09:19
标题:
怎么没人回复?
作者:
dabeixiong
时间:
2007-12-18 16:12
正好今天公司没活干~遇到我算你幸运~这种题应该发到开发群里去...
#include <stdio.h>
#include <time.h>
#define STD_NUM 3
#define SBJ_NUM 6
void SetScore();
void PrintScore();
void PrintAVG();
typedef struct Student{
double allscore;
float score[6];
}Student;
int main()
{
Student s[STD_NUM];
char *objarr[SBJ_NUM] = {"eng","chs","math","phy","gov", "gym"};
/*设置成绩*/
SetScore(s);
/*输出成绩*/
PrintScore(s, objarr);
/*输出平均成绩*/
PrintAVG(s);
getch();
}
void SetScore(Student s[STD_NUM])
{
int i;
int j;
for (i = 0; i < STD_NUM; i++)
{
s
.allscore = 0;
srand( (unsigned)(i+1)); /*设置随机种子*/
for (j = 0; j < SBJ_NUM; j++)
{
s
.score[j] = rand()%100; /*0-100随机数*/
s
.allscore += s
.score[j];
}
}
getch();
}
void PrintScore(Student s[STD_NUM], char *p[SBJ_NUM])
{
int i;
int j;
Student stutemp;
/*排序*/
for (i = 0; i < STD_NUM-1; i++)
{
for (j = i+1; j < STD_NUM; j++)
if (s
.allscore < s[j].allscore)
{
stutemp = s
;
s
= s[j];
s[j] = stutemp;
}
}
for (i = 0; i < STD_NUM; i++)
{
/*打印表头*/
if (i == 0)
{
printf("\t");
for (j = 0; j < SBJ_NUM; j++)
{
printf("%s\t", p[j]);
}
printf("all\n");
}
printf("%d:\t", i+1);
/*开始打印成绩数据 */
for (j = 0; j < SBJ_NUM; j++)
{
printf("%2.2f\t", s
.score[j]);
}
printf("%f\n", s
.allscore);
}
}
void PrintAVG(Student s[STD_NUM])
{
int i;
int j;
double all = 0;
float avg = 0;
printf("平均成绩");
for (i = 0; i < SBJ_NUM; i++)
{
all = 0;
for (j = 0; j < STD_NUM; j++)
{
all += s[j].score
;
}
avg = all/STD_NUM;
printf("%2.2f\t", avg);
}
}
作者:
fanping5817
时间:
2007-12-18 16:47
标题:
谢谢了!
呵呵,虽然有很多错误,但还是要非常感谢你的
作者:
dabeixiong
时间:
2007-12-18 17:25
呵呵~可能是字体原因吧~我在Win-TC下运行出结果了...
作者:
xinminghe
时间:
2007-12-23 23:14
长见识了,谢谢
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2