| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2595 人关注过本帖, 1 人收藏
标题:五个学生,每个学生有学号,姓名,三科分数,要求用average函数求平均值,用 ...
只看楼主 加入收藏
z8869113
Rank: 2
等 级:论坛游民
帖 子:44
专家分:14
注 册:2010-12-14
结帖率:75%
收藏(1)
已结贴  问题点数:15 回复次数:15 
五个学生,每个学生有学号,姓名,三科分数,要求用average函数求平均值,用max函数求大分数的学生数据,用input函输入,不知道哪里出错了。
#include<stdio.h>
 struct student
 {
  int hao;
  char name[10];
  int fen[3];

 }stu[5];
 void input()
 {
  int i;
  struct student stu[5];
   for(i=0;i<5;i++)
   {
    scanf("%d,%c,%d,%d,%d",stu[i].hao,stu[i].name,stu[i].fen[0],stu[i].fen[1],stu[i].fen[2]);
   
   }
 }
 int average()
 {
  int i,k=0;
  for(i=0;i<3;i++)
  {
   k+=stu[0].fen[i];
   k+=stu[1].fen[i];
   k+=stu[2].fen[i];
   k+=stu[3].fen[i];
   k+=stu[4].fen[i];
  }
  k=k/15;
  return(k);
 }
 int max()
 {
  int n[5],i,j,k=0;
  for(j=0;j<5;i++)
   for(i=0;i<3;i++)
   {
    n[j]+=stu[j].fen[i];
   }
   
   for(i=0;i<4;i++)
   {
    if(n[i]<n[i+1])
     k=i+1;
   }
   return(k);   
 }

 void main()
 {
  int k,i,j;
   input();
   k=max();
   i=average();

   printf("%d,%c,%d,%d,%d",stu[k].hao,stu[k].name,stu[k].fen[0],stu[k].fen[1],stu[k].fen[2]);
   printf("%d",i);
 }


搜索更多相关主题的帖子: 平均值 姓名 学生 
2010-12-29 17:53
吕少斌
Rank: 1
来 自:安徽黄山
等 级:新手上路
帖 子:5
专家分:7
注 册:2010-12-13
收藏
得分:2 
我现在才学结构体,连题目看起来都吃力,不过我运行了一下好像是非法操作
2010-12-29 19:55
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:2 
scanf("%d,%c,%d,%d,%d",stu[i].hao,stu[i].name,stu[i].fen[0],stu[i].fen[1],stu[i].fen[2]);
需要有必要的地方加上 & 取地址,其中的%c要改%s
至于逗号要不要改成空格或者删除掉,要看你的需要了

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-12-29 20:06
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:2 
#include<stdio.h>
struct student
{
  int hao;
  char name[10];
  int fen[3];
}stu[5];
void input()
{
  int i;
   for(i=0;i<5;i++)
   {
    scanf("%d,%s,%d,%d,%d",stu[i].hao,stu[i].name,stu[i].fen[0],stu[i].fen[1],stu[i].fen[2]);
   
   }
}
int average()
{
  int i,k=0;
  for(i=0;i<3;i++)
  {
   k+=stu[0].fen[i];
   k+=stu[1].fen[i];
   k+=stu[2].fen[i];
   k+=stu[3].fen[i];
   k+=stu[4].fen[i];
  }
  k=k/15;
  return k;
}
int max()
{
  int n[5]={0,0,0,0,0},i,j,k=0;
  for(j=0;j<5;j++)
   for(i=0;i<3;i++)
   {
    n[j]+=stu[j].fen[i];
   }
   
   for(i=0;i<4;i++)
   {
    if(n[i]<n[i+1])
     k=i+1;
   }
   return k;   
}

void main()
{
  int k,i,j;
   input();
   k=max();
   i=average();

   printf("%d,%s,%d,%d,%d",stu[k].hao,stu[k].name,stu[k].fen[0],stu[k].fen[1],stu[k].fen[2]);
   printf("%d",i);
}

   唯实惟新 至诚致志
2010-12-29 20:32
cxycctv123
Rank: 2
等 级:论坛游民
帖 子:8
专家分:19
注 册:2010-11-22
收藏
得分:2 
int max(){}的函数体中下面一段代码那个n[5]长度是5,但是却循环了十五次,而且没有初始化。

int n[5],i,j,k=0;
  for(j=0;j<5;i++)
   for(i=0;i<3;i++)
   {
    n[j]+=stu[j].fen[i];
   }
2010-12-29 22:28
z8869113
Rank: 2
等 级:论坛游民
帖 子:44
专家分:14
注 册:2010-12-14
收藏
得分:0 
回复 2楼 吕少斌
呵呵~我也是啊
2010-12-29 22:42
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:2 
早晚你会用链表做

                                         
===========深入<----------------->浅出============
2010-12-29 22:47
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
回复 5楼 cxycctv123
哥们,是你想错了吧。再想想吧。

   唯实惟新 至诚致志
2010-12-29 22:49
z8869113
Rank: 2
等 级:论坛游民
帖 子:44
专家分:14
注 册:2010-12-14
收藏
得分:0 
回复 4楼 qq1023569223
#include<stdio.h>
struct student
{
  int hao;
  char name[10];
  int fen[3];
}stu[5];
void input()
{
  int i;
   for(i=0;i<5;i++)
   {
    scanf("%d,%s,%d,%d,%d",stu[i].hao,stu[i].name,&stu[i].fen[0],&stu[i].fen[1],&stu[i].fen[2]);
   
   }
}
int average()
{
  int i,k=0;
  for(i=0;i<3;i++)
  {
   k+=stu[0].fen[i];
   k+=stu[1].fen[i];
   k+=stu[2].fen[i];
   k+=stu[3].fen[i];
   k+=stu[4].fen[i];
  }
  k=k/15;
return k;
}
int max()
{
  int n[5]={0,0,0,0,0},i,j,k=0;
  for(j=0;j<5;j++)
   for(i=0;i<3;i++)
   {
    n[j]+=stu[j].fen[i];
   }
   
   for(i=0;i<4;i++)
   {
    if(n[i]<n[i+1])
     k=i+1;
   }
   return k;   
}

void main()
{
  int k,i;
   input();
   k=max();
   i=average();

   printf("%d,%s,%d,%d,%d",stu[k].hao,stu[k].name,&stu[k].fen[0],&stu[k].fen[1],&stu[k].fen[2]);
   printf("%d",i);
}我改成这样了,不过输入第一个人的数据后错误啊,我输入 1,qwe,34,76,45然后就不行了啊~
2010-12-29 23:19
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
#include<stdio.h>
struct student
{
  int hao;
  char name[10];
  int fen[3];
}stu[5];
void input()
{
  int i;
   for(i=0;i<5;i++)
   {
    scanf("%d,%s,%d,%d,%d",&stu[i].hao,stu[i].name,&stu[i].fen[0],&stu[i].fen[1],&stu[i].fen[2]); // 少了个&
   }
}
int average()
{
  int i,k=0;
  for(i=0;i<3;i++)
  {
   k+=stu[0].fen[i];
   k+=stu[1].fen[i];
   k+=stu[2].fen[i];
   k+=stu[3].fen[i];
   k+=stu[4].fen[i];
  }
  k=k/15;
return k;
}
int max()
{
  int n[5]={0,0,0,0,0},i,j,k=0;
  for(j=0;j<5;j++)
   for(i=0;i<3;i++)
   {
    n[j]+=stu[j].fen[i];
   }
   
   for(i=0;i<4;i++)
   {
    if(n[i]<n[i+1])
     k=i+1;
   }
   return k;   
}

void main()
{
  int k,i;
   input();
   k=max();
   i=average();

   printf("%d %s %d %d %d\n",stu[k].hao,stu[k].name,stu[k].fen[0],stu[k].fen[1],stu[k].fen[2]);//多了&
   printf("%d",i);
}

[ 本帖最后由 qq1023569223 于 2010-12-29 23:42 编辑 ]

   唯实惟新 至诚致志
2010-12-29 23:35
快速回复:五个学生,每个学生有学号,姓名,三科分数,要求用average函数求平均 ...
数据加载中...
 
   



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

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