| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 612 人关注过本帖
标题:求助!
只看楼主 加入收藏
木北北
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-11-24
收藏
 问题点数:0 回复次数:2 
求助!

#include "stdio.h"
struct student
{
int num;
char name[20];
int score[3];
int sum;
}stu[3];
void print(struct student stu[])
{
int i,j;
for(i=0;i<3;i++)
{
  printf("%3d,%3s",stu[i].num,stu[i].name);
  for(j=0;j<3;j++)
  {
   printf("%7d",stu[i].score[j]);
  }
  printf("%7d",stu[i].sum=sum(stu));
  printf("\n");
}
   

}

input(struct student stu[])
{
int i,j;
for(i=0;i<3;i++)
{
  printf("请输入%d学生学号:\n",i+1);
  scanf("\n%d",&stu[i].num);
  printf("请输入%d学生姓名:\n",i+1);
  scanf("%s",stu[i].name);
  for(j=0;j<3;j++)
  {
   printf("请输入三门成绩:\n");
   scanf("%d",&stu[i].score[j]);
   
  }
}

print(stu);

}

int sum(struct student stu[])
{

int i,j,sum;
for(i=0;i<3;i++)
{   
  sum=0;
  for(j=0;j<3;j++)
  {
   sum+=stu[i].score[j];
   
  }
  return(sum);
  
}

}

int main(void)
{
input(stu);
}


我想输出3个学生3门成绩的总和,为什么每次第2个,第3个学生的总和,输出的都是第1个学生成绩的总和那?

搜索更多相关主题的帖子: stu int sum name 
2007-11-28 21:26
chump345
Rank: 1
来 自:家里蹲大学
等 级:新手上路
帖 子:108
专家分:5
注 册:2007-11-24
收藏
得分:0 
#include "stdio.h"
struct student
{
int num;
char name[20];
int score[3];
int sum;
}stu[3];
void print(struct student stu[])
{
int i,j;
for(i=0;i<3;i++)
{
  printf("%3d,%3s",stu[i].num,stu[i].name);
  for(j=0;j<3;j++)
  {
   printf("%7d",stu[i].score[j]);
  }
  printf("%7d",stu[i].sum=sum(&stu[i]));
  printf("\n");
}
   

}

input(struct student stu[])
{
int i,j;
for(i=0;i<3;i++)
{
  printf("请输入%d学生学号:\n",i+1);
  scanf("\n%d",&stu[i].num);
  printf("请输入%d学生姓名:\n",i+1);
  scanf("%s",stu[i].name);
  for(j=0;j<3;j++)
  {
   printf("请输入三门成绩:\n");
   scanf("%d",&stu[i].score[j]);
   
  }
}

print(stu);

}

int sum(struct student stu[])
{

int i,j,sum;
for(i=0;i<3;i++)
{   
  sum=0;
  for(j=0;j<3;j++)
  {
   sum+=stu[i].score[j];
   
  }
  return(sum);
  
}

}

int main(void)
{
input(stu);
}
你不停的重复首地址,当然会是第一个的值了~记得要写下标~

[[italic] 本帖最后由 chump345 于 2007-11-28 21:49 编辑 [/italic]]

凤凰涅磐,浴火重生!

2007-11-28 21:47
木北北
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-11-24
收藏
得分:0 
楼上的能给我讲讲为什么这么写吗?
 printf("%7d",stu[i].sum=sum(&stu[i]));
2007-11-28 21:52
快速回复:求助!
数据加载中...
 
   



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

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