| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 375 人关注过本帖
标题:这个程序。。TempFile.exe 遇到问题需要关闭,求指导 ,顺便求补全
只看楼主 加入收藏
左耳侯
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-1-7
收藏
 问题点数:0 回复次数:4 
这个程序。。TempFile.exe 遇到问题需要关闭,求指导 ,顺便求补全
/* Note:Your choice is C IDE */
#include "stdio.h"
#define N 50
typedef struct{
 char number[13];
 char name[10];
 int Chinese;
 int Maths;
 int English;
 int Physical;
 int History;
 int average;
 struct hou *next;
}hou,*ht;
ht creat(ht B,int n){
    int i,j;
    B=(ht)malloc(n*sizeof(hou));
    for(i=0;i<n;i++){
        printf("请输入第%2d个学生的学号 姓名 ",i+1);
        scanf("%s%s",B[i].number,B[i].name);
        for(j=rand()%200;j>0;j--)rand();
        B[i].Chinese=rand()%100;B[i].Maths=rand()%100;B[i].English=rand()%100;B[i].Physical=rand()%100;B[i].History=rand()%100;
        B[i].average=(B[i].Chinese+B[i].Maths+B[i].English+B[i].Physical+B[i].History)/5;
    }
    return B;
}
print(ht B,int n,int x[N]){
    int i;
    printf("学号 姓名 语文 数学 英语 物理 历史 平均分\n");
    for(i=0;i<n;i++){
        printf(" %-5s%-5s%-5d%-5d%-5d%-5d%-5d%-5d\n",B[x[i]].number,B[x[i]].name,B[x[i]].Chinese,B[x[i]].Maths,B[x[i]].English,B[x[i]].Physical,B[x[i]].History,B[x[i]].average);
    }
}
maopao(ht B,int n){
    int O[N];int j,max,i;
    for(i=0;i<n;i++)O[i]=i;
    for(i=0;i<n;++i)
    for(j=i;j<n;++j){
        if(B[O[i]].average<B[O[j]].average){
        max=O[i];
          O[i]=O[j];
             O[j]=max;}}
    print(B,n,O);
   
    }
choose(ht B,int n){
    int x[N],y[N];int j,max,i,k,m;
    for(i=0;i<n;i++)x[i]=i;
    for(k=0;k<=n-1;k++)                                                                                                                                                                                                            
    for(i=n-1;i>=k;--i)
    for(j=i-1;j>=0;--j){
        if(B[x[j+1]].average>B[x[j]].average){
            m=x[j+1];
            x[j+1]=x[j];
            x[j]=m;}
    }
    print(B,n,x);
    }
    Single(ht B,int n,int x[N]){
     ht A,p,b;int i;
     A=(ht)malloc(sizeof(hou));
     A->next=NULL;p=A;
     for(i=0;i<n;++i){
         p->next=B+x[i];
         B[x[i]].next=NULL;
        p=p->next;
}
B=A->next;
while(b){
    printf(" %-5s%-5s%-5d%-5d%-5d%-5d%-5d%-5d\n",b->number,b->name,b->Chinese,b->Maths,b->English,b->Physical,b->History,b->average);
    b=b->next;
   }
}
   
   
void main()
{ ht B[4];int x[N],y[N],i,j,n[4],c=0,d=0;
    for(i=0;i<4;++i){
    printf("请输入第%d个班的人数:",i+1);
    scanf("%d",&n[i]);
    B[i]=creat(B[i],n[i]);}printf("记录【初始化】输出\n");
    for(j=0;j<4;++j){
    for(i=0;i<n[i];i++)x[i]=i;
    print(B[j],n[i],x);}      
    for(j=0;j<4;++j){
        printf("第%d个班级冒泡排序输出\n",j+1);
        maopao(B[j],n[j]);
    }
   
    for(j=0;j<4;++j){
        printf("第%d个班级选择排序输出\n",j+1);
        choose(B[j],n[j]);
    }
    for(j=0;j<4;++j)
    {
        printf("第%d个班级单链表输出:\n",j+1);
        Single(B[j],n[j],y[j]);
   
}
    }
编写一个成绩生成函数。使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0-100之间的整数),通过调用该函数生成全部学生的成绩。
编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中。
用冒泡排序法对4个班的成绩按每个同学的平均成绩的进行降序班内排序。
用选择排序法对4个班的成绩按每个同学的平均成绩的进行降序班内排序。
对已按平均成绩排好序的4个班的同学构造一个按平均成绩递减方式排列的新的单链表。
  (6)设计一个菜单,至少具有上述操作要求的基本功能。
2个问题解决不了求大神指导下午要用
搜索更多相关主题的帖子: next English Chinese average 
2013-01-07 11:06
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
内存非法访问

DO IT YOURSELF !
2013-01-07 11:06
左耳侯
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-1-7
收藏
得分:0 
怎么弄,挣了一天了没弄好
2013-01-07 11:28
左耳侯
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-1-7
收藏
得分:0 
各位路过的不要走留下点。。。。
2013-01-07 11:34
hanyangzhou
Rank: 2
等 级:论坛游民
帖 子:18
专家分:12
注 册:2013-1-1
收藏
得分:0 
回复 4楼 左耳侯
初学者~课后一起研究
2013-01-07 11:44
快速回复:这个程序。。TempFile.exe 遇到问题需要关闭,求指导 ,顺便求补全
数据加载中...
 
   



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

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