| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖, 1 人收藏
标题:请各位大神帮我改一下吧!!!!
只看楼主 加入收藏
现实太狗
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2013-12-1
结帖率:100%
收藏(1)
已结贴  问题点数:10 回复次数:11 
请各位大神帮我改一下吧!!!!
#include<stdio.h>
#define MAXSTU 30
int MainMenu()/*菜单显示*/
{
    printf("******-----  英语成绩分析系统  ------******\n");
    printf("             1、录入成绩                   \n");
    printf("             2、显示不及格人数             \n");
    printf("             3、显示最高分与最低分         \n");
    printf("             4、显示总分和平均成绩         \n");
    printf("             5、统计个分数段的人数         \n");
    printf("             6、 按成绩从低到高排序        \n");
}
int luru(int score[])/*录入学生的成绩*/
{
    int i;
    for(i=0;i<MAXSTU;i++)
    {
        printf("请输入第%d个学生的成绩(-1退出输入):\n",i+1);
        scanf("%d",&score[i]);
        if(score[i]==-1)
            break;
    }
    return(i);

}
 int DisplayScore(int score[])
{
  int i,count=0;

        for(i=0;i<MAXSTU;i++)
       {
        printf("请输入第%d个学生的成绩(-1退出输入):\n",i+1);
        scanf("%d",&score[i]);
        
        if(score[i]==-1)
            break;
     if(score[i]<60)
                count++;
  }

return(count);
  
}
 int MaxMin(int score[])
 {
     int i,max,min,n;   
     
    for(i=0;i<MaxMin;i++)
    {
        printf("请输入第%d个学生的成绩(-1退出输入):\n",i+1);
        scanf("%d",&score[i]);
        min=score[0];
        max=score[1];
        if(score[i]==-1)
            break;
    }
    for(n=0;n<i;n++)
    {
        if(score[n]<min)
            min=score[n];
        if(score[n]>max)
            max=score[n];
        
    }
   
printf("%d   %d\n",min,max);

 }
 int SumAver(int score[])
 {
       int i,sum=0;
    float aver;
    for(i=0;i<MAXSTU;i++)
    {
        printf("请输入第%d个学生的成绩(-1退出输入):\n",i+1);
        scanf("%d",&score[i]);
        sum=sum+score[i];
        if(score[i]==-1)
            break;
            
    }
    sum=sum+1;
    aver=(float)sum/(float)i;
    printf("%d   %f\n",sum,aver);
 }
 int TongJi(int score[])
 {
     int count1=0,count2=0,count3=0,count4=0,count5=0;
     int i;
         for(i=0;i<MAXSTU;i++)
    {
        printf("请输入第%d个学生的成绩(-1退出输入):\n",i+1);
        scanf("%d",&score[i]);
        if(score[i]>90&&score[i]<=100)
            count1++;
        else if(score[i]>80&&score[i]<=90)
            count2++;
        else if(score[i]>70&&score[i]<=80)
            count3++;
        else if(score[i]>=60&&score[i]<=70)
            count4++;
        else
            count5++;

        if(score[i]==-1)
            break;
    }
        count5=count5-1;
        printf("%d %d %d %d %d\n",count1,count2,count3,count4,count5);
 }
 int PaiXu(int score[])
 {
    int i,k,t,l,n;/*n代表实际的学生数目*/
    for(i=0;i<MAXSTU;i++)
    {
        printf("请输入第%d个学生的成绩(-1退出输入):\n",i+1);
        scanf("%d",&score[i]);
        n=i;
        if(score[i]==-1)
            break;
    }
    for(i=0;i<n-1;i++)
        k=i;
    for(l=i+1;l<n;l++)
    {
        if(score[l]<score[k])
            k=l;
        if(i!=k)
        {
            t=score[k];
            score[k]=score[i];
            score[i]=t;
        }
        else
            score[i]=score[k];
        
     
    }
    for(i=0;i<n;i++)
    printf("%d  ",score[i]);
    printf("%d",n);
   
 }
 
 
void main()
{
    int stu__score[MAXSTU];/*学生的成绩*/
    int stu__count;
    int choose,a[2],i;
    while(1)
    {
        MainMenu();
        printf("请输入一个数字:\n");
        scanf("%d",&choose);

        switch(choose)
        {
           case 1:stu__count=luru(stu__score);printf("%d\n",stu__count);break;
        case 2:stu__count=DisplayScore(stu__score);printf("%d",stu__count);break;
        case 3:MaxMin(stu__score);break;
        case 4:SumAver(stu__score);break;
        case 5:TongJi(stu__score);break;
        case 6:PaiXu(stu__score);break;
   
        
   
        }
    }

}
请各位帮我看一下,帮我加入一个清屏功能,还有帮我弄一下能不能不要每一次都输入成绩,还有最后一个功能没实现帮我看一下吧!!如果你们看着麻烦写一个新的吧,但是别太深奥了,我大一才学到指针!!!谢谢了
搜索更多相关主题的帖子: 英语成绩 include 统计 
2013-12-05 12:00
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
这是完全伸手啊

总有那身价贱的人给作业贴回复完整的代码
2013-12-05 12:04
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
别说是新手,老师是教到这个程度才会给学生做的。你这样浪费,还有很多人没老师教呢

总有那身价贱的人给作业贴回复完整的代码
2013-12-05 12:07
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:5 
不要总发这么长篇代码。有些事情要自己慢慢琢磨。清屏。我用过system(“clear”)

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-05 12:11
现实太狗
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2013-12-1
收藏
得分:0 
回复 3楼 embed_xuel
不是新手的话我能做不出来吗??半个学期一本c语言,一周8节课,你说进程能有多快,我们老师只是讲了课本上的东西,剩下的自己琢磨,那个是实验报告上的题,我不是不会才请教的吗?有必要埋汰我吗?你刚接触c语言的时候难道你什么都会啊??
2013-12-05 12:31
现实太狗
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2013-12-1
收藏
得分:0 
回复 4楼 so_love
谢了!!
2013-12-05 12:32
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
收藏
得分:5 
#include<stdio.h>
#include <stdlib.h>
 #define MAXSTU 30
 int MainMenu()/*菜单显示*/
 {
     
     int id;
     printf("******-----  英语成绩分析系统  ------******\n");
     printf("             1、录入成绩                   \n");
     printf("             2、显示不及格人数             \n");
     printf("             3、显示最高分与最低分         \n");
     printf("             4、显示总分和平均成绩         \n");
     printf("             5、统计个分数段的人数         \n");
     printf("             6、 按成绩从低到高排序        \n");
     printf("请输入操作编号(1-6):");
         scanf("%d",&id);
    fflush(stdin);
    return id;
 }
 int luru(int score[])/*录入学生的成绩*/
 {
     int i;
     for(i=0;i<MAXSTU;i++)
     {
         printf("请输入第%d个学生的成绩(-1退出输入):\n",i+1);
         scanf("%d",&score[i]);
         if(score[i]==-1)
             break;
     }
     printf("已录入%d个学生成绩\n",i+1);
     fflush(stdin);
     printf("按任意键清屏...");
     getchar();
     system("CLS");
     return(i);

 }
 int DisplayScore(int score[], int len)
 {
   int i,count=0;

         for(i=0;i<len;i++)
        {
         if(score[i]<60)
                 count++;
   }
         if (len !=0)
   printf("不及格人数%d\n", count);
         else
             printf("无学生成绩记录,请先录入学生成绩\n");
         
     printf("按任意键清屏...");
     getchar();
     system("CLS");

 return(count);
   
 }
 int MaxMin(int score[], int len)
 {
      int i,max=0,min,n;   
      
     for(i=0,min=score[0];i<len;i++)
     {
         
         if(max<score[i])
             max = score[i];
         if(min> score[i])
             min = score[i];
     }
     if (len !=0)
        printf("最低分%d   最高分%d\n",min,max);
     else
         printf("无学生成绩记录,请先录入学生成绩\n");
     
     printf("按任意键清屏...");
     getchar();
     system("CLS");
     return 0;

 }
 int SumAver(int score[], int len)
 {
        int i,sum=0;
     float aver;
     for(i=0;i<len;i++)
     {
         sum=sum+score[i];
            
     }
     
     aver=(float)sum/(float)i;
     printf("学生总成绩%d   平均成绩%f\n",sum,aver);
     
     printf("按任意键清屏...");
     getchar();
     system("CLS");
     return 0;
 }
 int TongJi(int score[])
 {
      int count1=0,count2=0,count3=0,count4=0,count5=0;
      int i;
          for(i=0;i<MAXSTU;i++)
     {
         printf("请输入第%d个学生的成绩(-1退出输入):\n",i+1);
         scanf("%d",&score[i]);
         if(score[i]>90&&score[i]<=100)
             count1++;
         else if(score[i]>80&&score[i]<=90)
             count2++;
         else if(score[i]>70&&score[i]<=80)
             count3++;
         else if(score[i]>=60&&score[i]<=70)
             count4++;
         else
             count5++;

         if(score[i]==-1)
             break;
     }
         count5=count5-1;
         printf("%d %d %d %d %d\n",count1,count2,count3,count4,count5);
 }
 int PaiXu(int score[])
 {
     int i,k,t,l,n;/*n代表实际的学生数目*/
     for(i=0;i<MAXSTU;i++)
     {
         printf("请输入第%d个学生的成绩(-1退出输入):\n",i+1);
         scanf("%d",&score[i]);
         n=i;
         if(score[i]==-1)
             break;
     }
     for(i=0;i<n-1;i++)
         k=i;
     for(l=i+1;l<n;l++)
     {
         if(score[l]<score[k])
             k=l;
         if(i!=k)
         {
             t=score[k];
             score[k]=score[i];
             score[i]=t;
         }
         else
             score[i]=score[k];
         
      
     }
     for(i=0;i<n;i++)
     printf("%d  ",score[i]);
     printf("%d",n);
     
 }


 void main()
 {
     int stu__score[MAXSTU];/*学生的成绩*/
     int stu__count;
     int choose,a[2],i;
     while(1)
     {
         
         choose=MainMenu();
         

         switch(choose)
         {
            case 1:stu__count=luru(stu__score);break;
         case 2:stu__count=DisplayScore(stu__score, stu__count);break;
         case 3:MaxMin(stu__score, stu__count);break;
         case 4:SumAver(stu__score, stu__count);break;
         case 5:TongJi(stu__score);break;
         case 6:PaiXu(stu__score);break;
         default:
            
                system("CLS");
                 
     
         
     
         }
     }

 }
改了前四个,最后个排序大一应该还没学数据结构吧,就没改。第五个楼主可以自己改改。

好好学习,天天想上
2013-12-05 12:40
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 5楼 现实太狗
哪句话是在埋汰你?
就你说这句“如果你们看着麻烦写一个新的吧”,我说你是伸手党有错吗?还真好意思说出来

总有那身价贱的人给作业贴回复完整的代码
2013-12-05 12:47
现实太狗
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2013-12-1
收藏
得分:0 
回复 8楼 embed_xuel
伸手党什么意思啊??是不是不做作业就知道要答案的意思啊!!!如果是的话,我只能说我如果不做作业我写那么多干嘛!!
2013-12-05 18:08
现实太狗
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2013-12-1
收藏
得分:0 
回复 7楼 zhaogay
谢谢了!!!
2013-12-05 18:09
快速回复:请各位大神帮我改一下吧!!!!
数据加载中...
 
   



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

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