| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2388 人关注过本帖
标题:我是菜鸟,这个试题,大家做着玩吧
只看楼主 加入收藏
韩剧鼻祖
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-10-1
收藏
 问题点数:0 回复次数:22 
我是菜鸟,这个试题,大家做着玩吧

今天学院考试了
题目:接受一组学员编号,并对这几个学院编号做排序。
用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分

搜索更多相关主题的帖子: 试题 学员 Sort Accept 
2006-10-23 21:43
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
就是个字符串的冒泡排序吧.也不难嘛.

倚天照海花无数,流水高山心自知。
2006-10-23 21:48
韩剧鼻祖
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-10-1
收藏
得分:0 
那您来啊
可是有创新一个就加10分,您要能做出个十个八个的新方法,那可就是一百多分了

2006-10-23 21:51
韩剧鼻祖
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-10-1
收藏
得分:0 
没人做么,可了惜了,我好不容易从考场考出来的

2006-10-23 22:14
计院人
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-10-15
收藏
得分:0 
fflush(stdin);
请问这个是什么函数?是系统自带的吗?

2006-10-23 22:18
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
fflush(stdin);//用来清空输入缓冲区,如果不清空缓冲,再要输入数据的时候就会缓冲满了,就输不进去数据了

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-23 22:21
韩剧鼻祖
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-10-1
收藏
得分:0 
六楼的替我解释了

2006-10-23 22:26
cwande
Rank: 2
等 级:新手上路
威 望:3
帖 子:333
专家分:0
注 册:2006-8-18
收藏
得分:0 
以下是引用韩剧鼻祖在2006-10-23 21:51:04的发言:
那您来啊
可是有创新一个就加10分,您要能做出个十个八个的新方法,那可就是一百多分了
你把每种不同排序方法都写一遍,什么选择啊,快排,合并,............
或者直接调用qsort()和STL中的sort(),保你能够得到一百多分...........

汗,都懒得写代码了.......... cheat了一个威望,哈.....
2006-10-23 22:35
计院人
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-10-15
收藏
得分:0 
以下是引用unicorn在2006-10-23 22:21:29的发言:
fflush(stdin);//用来清空输入缓冲区,如果不清空缓冲,再要输入数据的时候就会缓冲满了,就输不进去数据了

我试过几个程序,用不用好像都没多大的影响,这是不是用于一些特殊情况,或者为了安全考虑?


2006-10-23 22:38
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
主要用在接收字符前.
比如
printf("yes or not(Y/N):\n");
//这里就插入. 或者写getchar()也可以.
scanf("%c",c);

倚天照海花无数,流水高山心自知。
2006-10-23 22:44
快速回复:我是菜鸟,这个试题,大家做着玩吧
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040496 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved