今天学院考试了
题目:接受一组学员编号,并对这几个学院编号做排序。
用Accept()函数来接收学员个数,要求使用一个参数,来接受字符串数组;
用Sort函数,来冒泡排序,要求使用两个参数,一个接受学员个数,一个接受学员的编号;
用print来体现出排序后的顺序。
(按要求做完后,还可以用自己的想法编出新程序,每编出一种加十分)
这是鄙人瞎做的一个,结果不成功,不过还是及格了,这个题我们班就有三个人做出来了,大家看看吧
#include<stdio.h>
#include<string.h>
int Accept();
void Sort();
void print();
void main()
{
char *str[5];
int b;
b=Accept(str);
Sort(str);
print(str);
}
int Accept()
{
int a,b;
static char name[5];
printf("请输入学生的个数:\n");
scanf("%d",&a);//用于接收学生个数
for(b=0;b<5;b++)
{
printf("请输入第%d个学生的学生编号",b+1);
scanf("%s",&name[a]);//用于接收学生编号
fflush(stdin);
}
return a;
}
void Sort()//用于排序
{
char *name[5];
int n,temp;
for(n=0;n<5;n++)
{
if(strcmp(name[n],name[n+1]>0))
{
temp=*name[n];
*name[n]=*name[n+1];
*name[n+1]=temp;
}
}
}
void print()//用于输出排序结果
{
char *name[5];
int n;
printf("The result is:\n");
for(n=0;n<5;n++)
printf("%s\n",name[n]);
}
给大家提供我们的考试评分标准:
某某学院
操作技能考试 评分标准
(逻辑设计和C语言实现)
总分数 : 100
时间 : 2小时
评分标准:录入学生编号,排序后输出
10 程序总体结构及定义
6 正确包含头文件<stdio.h>、<string.h>和<malloc.h>
4 正确定义数组char *str[5];
30 main函数的实现
4 正确调用Accept()函数,以接收相关数据,并将获得的函数返回值赋给main()函数的局部变量
4 正确调用Sort()函数,对学生编号进行排序
4 正确调用Print()函数,输出已排序的学生编号
20 Accept函数的实现
2 正确接收输入的学生编号个数
4 正确使用循环来接收输入的多个学生编号
6 正确调用malloc()申请内存空间,并将新分配的空间赋给学生编号数组
4 正确接收键盘输入的学生编号
4 正确返回学生编号的个数
20 Sort函数的实现
2 正确定义参数
8 正确使用strcmp()函数进行学生编号大小的比较
10 正确实现冒泡排序算法或插入排序法
10 Print函数的实现
2 正确定义参数
8 正确利用循环输出学生编号
10 总体编程技术
- 5 程序逻辑分明,有一定注释
- 5 变量命名符合规范,编码书写有缩进
总分 100分