LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1219|回复: 9

十万火急C程序编程!请高手帮忙!万分谢谢!

[复制链接]
发表于 2005-5-28 21:31:38 | 显示全部楼层 |阅读模式
一、题目要求:
按照如下要求编写程序。
1.        定义一个用于描述学生信息的结构类型,其中包括三个成员,分别用于描述学号、姓名和成绩。
2.        定义一个数组,数组的数据类型就是上面定义的结构类型。数组至少可以存放10个数据项。
3.        从键盘输入若干个学生信息,存储到上面定义的数组中。
4.        按课程成绩从小到大的顺序排列数组元素,然后依次输出每个数据元素。即给学生按成绩排名次。
二、说明:
1.        要求自己编辑和编译程序,设计输入实例,然后运行你自己编写的程序,得到输出结果。
发表于 2005-5-29 02:13:24 | 显示全部楼层
作业题吧?

还是自己好好想想,下点功夫自己写出来。又不难。
回复 支持 反对

使用道具 举报

发表于 2005-5-29 11:16:09 | 显示全部楼层
最烦看到这种帖
回复 支持 反对

使用道具 举报

发表于 2005-5-29 16:58:23 | 显示全部楼层
这样的题应该没人会帮的吧
回复 支持 反对

使用道具 举报

发表于 2005-5-29 17:42:17 | 显示全部楼层
怎么说呢,这种题是基础中的基础,要掌握的就是结构的操作和一个排序算法,现在的学生怎么搞的?
回复 支持 反对

使用道具 举报

发表于 2005-5-29 18:54:44 | 显示全部楼层
这个人我在别的论坛也看到过啊!!
好多事开始应该先自已做一些的啊,遇到问题再去问别人的嘛!
回复 支持 反对

使用道具 举报

发表于 2005-5-30 16:58:33 | 显示全部楼层
看看书, 应该能搞定,万一搞不定,再将代码贴出来。
回复 支持 反对

使用道具 举报

发表于 2005-5-30 18:01:34 | 显示全部楼层
Post by nait
最烦看到这种帖

re。
净化吧
回复 支持 反对

使用道具 举报

发表于 2005-5-31 13:00:12 | 显示全部楼层
勤于动手的人才适合做程序,劝楼主还是改行吧
回复 支持 反对

使用道具 举报

发表于 2005-5-31 16:54:31 | 显示全部楼层
#include "string.h"
#include "memory.h"

#define COUNT 5
#define NAME_LEN 20

typedef struct student{
        unsigned int number;//学号
        unsigned char mark;//分数
        char name[NAME_LEN];//应该够用了吧
}STUDENT;

void sort(STUDENT *lpstudent)
{
        int i;
        int j;
        STUDENT Tmp;

        for(i=0; i<COUNT; ++i){
                for(j=i+1; j<COUNT; ++j){
                        if(lpstudent.mark > lpstudent[j].mark){
       
                                Tmp.number = 0;
                                Tmp.mark =         0;
                                memset(Tmp.name, 0, NAME_LEN);

                                Tmp.number = lpstudent[j].number;
                                Tmp.mark = lpstudent[j].mark;
                                strncpy(Tmp.name, lpstudent[j].name, NAME_LEN);
                               
                                lpstudent[j].number = lpstudent.number;
                                lpstudent[j].mark = lpstudent.mark;
                                strncpy(lpstudent[j].name, lpstudent.name, NAME_LEN);

                                lpstudent.number = Tmp.number;
                                lpstudent.mark = Tmp.mark;
                                strncpy(lpstudent.name, Tmp.name, NAME_LEN);
                               
                        }
                }
        }
}

int main(int argc, char* argv[])
{
        int i;
        STUDENT s_array[COUNT] = {{0,0,},};

        printf("请按先后顺序输入学号,分数,姓名\n");//判断留个楼主了
    for(i=0; i<COUNT; ++i){
                printf("共有%d个学生,下面输入第%d个\n",COUNT,i+1);
                printf("请输入学号:");
                scanf("%d",&s_array.number);
                printf("请输入分数:");
                scanf("%d",&s_array.mark);
                printf("请输入姓名:");
                scanf("%s",s_array.name);
    }
        printf("下面排序:\n");
        sort(s_array);
        printf("下面输出:\n");
        for(i=0; i<COUNT; ++i){
                printf("%d------ 学号:%d 分数:%d 姓名:%s\n",i+1,s_array.number,s_array.mark,s_array.name);
        }
        return 0;
}


还有很多工作要做!没时间了!
比如判断输入的分数是否在范围之内!
目前输入分数必须是整数等等,这些留个楼主做吧!

很可惜,编译环境是vc 6。我这没有linux
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表