标题:程序有点小失误但是看不出错在哪里,大神求帮忙
只看楼主
这是我小名
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-9-3
结帖率:0
已结贴  问题点数:20 回复次数:5 
程序有点小失误但是看不出错在哪里,大神求帮忙
#include<stdio.h>
struct Student
{
  int num;
  char name[10];
  float score[2];
};
struct Student st[2];


struct Student input()
{
  int i;
  printf("请输入学生信息:\n");
  for(i=0;i<2;i++)
  scanf("%d %s %f%f",&st[i].num,&st[i].name,&st[i].score[1],&st[i].score[2]);
}

struct Student print()
{
  int i;
  printf("学生信息:\n");
  printf("学号    姓名   成绩1   成绩2 \n");
  for(i=0;i<2;i++)
  {
    printf("%-8d%-7s%-6.2f%-6.2f\n",st[i].num,st[i].name,st[i].score[1],st[i].score[2]);
  }
}

int main()
{
   input();
   print();
   printf("\n");
}
搜索更多相关主题的帖子: struct Student int score printf 
2017-09-03 21:20
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
得分:10 
scanf("%d %s %f%f",&st[i].num,&st[i].name,&st[i].score[1],&st[i].score[2]);
两个 %f 之间没有没有分隔,出现一些不可理解的现象属于正常
还有数组下标问题,C(C++)的数组下标是从0还是从1开始,忘了……

[此贴子已经被作者于2017-9-4 10:28编辑过]


你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2017-09-04 10:24
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:10 
scanf("%d %s %f%f",&st[i].num,&st[i].name,&st[i].score[1],&st[i].score[2]);
改成
scanf("%d %s %f%f",&st[i].num,&st[i].name,&st[i].score[0],&st[i].score[1]);
后面的printf也要改
2017-09-04 13:58
这是我小名
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-9-3
得分:0 
回复 2楼 zghnxzdcx
大神,我根据你的建议改了一下感觉还是错的耶
2017-09-04 13:58
这是我小名
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-9-3
得分:0 
回复 3楼 yangfrancis
对啦 ,谢谢大神
2017-09-04 14:38
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
得分:0 
回复 4楼 这是我小名
结构体数组的下表用的0 .和1,分数数组的下标用的1和2……

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2017-09-04 22:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480460-1-1.html




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

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