| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 777 人关注过本帖, 1 人收藏
标题:帮忙改改 谢谢
只看楼主 加入收藏
张义宇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:37
注 册:2011-5-19
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:7 
帮忙改改 谢谢
/*编写程序处理10个学生的信息,每个学生的信息包括:学号、姓名、三门成绩。要
求从键盘输入学生的数据用一个函数实现,输出成绩表(包括每个学生的学号、姓
名、三门成绩及平均分数)用一个函数,再用一个函数输出平均分在前3名的学
生姓名及平均分。*/
#include <stdio.h>
struct student
{  int num;
   char name[20];
   int score[3];
   float ave;
} s[10];
main()
{  struct student stu,stu1,stu2,stu3;
    int i,j,k,score,ave,ave1,ave2,ave3;
   k=0;
   for(i=0;i<10;i++);
   {  ave=
      scanf("%d%s",&s[i].num,s[i].name);
   {  for(j=0;j<3;j++)
   { scanf("%d",score);
         ave+=s[1].score[j];
   }
   s[i].ave;
   if(s[i].ave>s[k].ave) k=1;}
   }
   printf("每个学生的学号、姓名、三门成绩、平均分数及平均分在前三名的学生姓名及平均分:");

   printf("%s,%c,%d,%d,%d,%f,%f,%f,%d ,%d,%d\n",stu.num,stu.name,stu.score[0],score[1],score[2],stu.ave,stu1.name,stu2.name,stu3.name,ave1,ave2,ave3);
}
搜索更多相关主题的帖子: 成绩表 姓名 三门 
2011-05-21 16:39
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:5 
程序代码:
#include <stdio.h>
struct student
{
   int num;
   char name[20];
   int score[3];
   float ave;
}s[10];

int main()
{
   int i,j,k=0;
     
   for(i=0;i<10;i++);
   { 
      scanf("%d%s",&s[i].num,s[i].name);  //输入学号和名字
      for(j=0;j<3;j++)
      {
         scanf("%d",&s[i].score[j]);  //输入三个成绩
         ave+=s[i].score[j];  //平均分暂时保存为三个成绩的和
      }
      s[i].ave/=3;  //除以3就是这个学生的平均分了
   }
   printf("每个学生的学号、姓名、三门成绩、平均分数:\n");

 
   for(i=0;i<10;i++)
   printf("%d\t%s\t%d\t%d\t%d\t%f\n",s[i].num,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].ave);
  
   return 1;
} 
至于你的那个前三的问题,你的方法不对吧,自己再想想吧!

[ 本帖最后由 qq1023569223 于 2011-5-21 17:27 编辑 ]

   唯实惟新 至诚致志
2011-05-21 17:26
夜叶
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:104
专家分:189
注 册:2011-5-7
收藏
得分:5 
飘过
2011-05-21 19:35
张义宇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:37
注 册:2011-5-19
收藏
得分:0 
回复 2楼 qq1023569223
谢谢  我在看看
2011-05-22 23:03
张义宇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:37
注 册:2011-5-19
收藏
得分:0 
回复 3楼 夜叶
   谢了   我再查查看
2011-05-22 23:10
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:3 
回复 2楼 qq1023569223
你让他自己写不行吗

                                         
===========深入<----------------->浅出============
2011-05-24 09:57
chenjin1st
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:26
专家分:44
注 册:2011-5-13
收藏
得分:7 
程序代码:
#include<stdio.h>
struct student
{
  int mumber[1];  //学号
  char name[10];  //名字
  double score[4];   //成绩
};
typedef struct student SS;
SS stud[10],*st=stud;
int i;
int input();
int output();
int count();
int main()
{
  input();
  output();
  count();
  return 0;
}
int input()
{
  i=0;
  printf("请输入同学的成绩格式为 成绩1,成绩2,成绩3,\n");
  for(i;i<5;i++){
    printf("请输入第%d名同学的信息\n",i+1);
    printf("请输入学号\n");
    scanf("%d",&stud[i].mumber[0]);
    printf("请输入姓名\n");
    scanf("%s",stud[i].name);
    printf("请输入成绩\n");
    scanf("%lf,%lf,%lf",&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
    stud[i].score[3]=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3;
  }
  return 0;
} 

int output()
{
  i=0;
  printf("-------------------------------------------------\n");
  printf("| 学号");
  printf("|   姓名   ");
  printf("| 成绩1");
  printf("| 成绩2");
  printf("| 成绩3");
  printf("| 平均成绩|\n");
  for(i;i<5;i++){
      printf("| %4d",stud[i].mumber[0]);
      printf("| %9s",stud[i].name);
      printf("| %0.2lf",stud[i].score[0]);
      printf("| %0.2lf",stud[i].score[1]);
      printf("| %0.2lf",stud[i].score[2]);
      printf("| %0.2lf   |",stud[i].score[3]);
      printf("\n");
  }
   printf("-------------------------------------------------\n");

 return 0;
} 

int count()
{    

      int j,k;
      double max;
      i=0;
      printf("其中平均成绩在前三的同学为\n");
      printf("-------------------------------------------------\n");
      printf("| 学号");
      printf("|   姓名   ");
      printf("| 成绩1");
      printf("| 成绩2");
      printf("| 成绩3");
      printf("| 平均成绩|\n");
      max=0;
      for(i;i<3;i++){
          for(j=0;j<5;j++){
            if(stud[j].score[3]>=max){
               max=stud[j].score[3];
               k=j;
              }
            }
          printf("| %4d",stud[k].mumber[0]);
          printf("| %9s",stud[k].name);
          printf("| %0.2lf",stud[k].score[0]);
          printf("| %0.2lf",stud[k].score[1]);
          printf("| %0.2lf",stud[k].score[2]);
          printf("| %0.2lf   |",stud[k].score[3]);

          printf("\n");
          stud[k].score[3]=-1;
          max=0;
      }
      printf("-------------------------------------------------\n");
return 0;
}

[local]1[/local]我自己写的。可以用。我这里是输入了五个人的。楼主可以把   i改成 10 就可以输出10个人的了


QQ截图20110524210534.png (53.13 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册

共同进步,共同收获!!!!
2011-05-24 21:07
张义宇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:37
注 册:2011-5-19
收藏
得分:0 
回复 7楼 chenjin1st
谢了 我会加油的
2011-05-24 22:56
快速回复:帮忙改改 谢谢
数据加载中...
 
   



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

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