标题:请大家帮忙分析一下哪里错了,辛苦了谢谢!~~
只看楼主
JSJIMMYJS
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-3
 问题点数:0 回复次数:9 
请大家帮忙分析一下哪里错了,辛苦了谢谢!~~
这是我的代码 谢谢大家帮忙看一下
#include<stdio.h>
struct student
{
int num;
char name[15];
float f1;
float f2;
float f3;
float avg;
};
void in(struct student *s)
{
printf("请输入学号:");
scanf("%d",&s->num);
printf("请输入姓名:");
fflush(stdin);
scanf("%s",s->name);
printf("请输入第一门成绩:");
scanf("%f",&s->a1);
printf("请输入第二门成绩:");
scanf("%f",&s->a2);
printf("请输入第三门成绩:");
scanf("%f",&s->a3);
}
void main()
{
struct student stu[50];
int i=0;
char c='y';
do
{
in(&stu[i]);
i++;
if(i==50)
break;
c=getchar();
}while(c='y');
}
仔细看了又看 没发现什么问题 但是每次运行到输入第一门成绩时就会崩溃
搜索更多相关主题的帖子: float printf scanf name 
2007-04-03 22:55
JSJIMMYJS
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-3
得分:0 
#include<stdio.h>
struct student
{
int num;
char name[15];
float f1;
float f2;
float f3;
float avg;
};
void in(struct student *s)
{
printf("请输入学号:");
scanf("%d",&s->num);
printf("请输入姓名:");
fflush(stdin);
scanf("%s",s->name);
printf("请输入第一门成绩:");
scanf("%f",&s->f1);
printf("请输入第二门成绩:");
scanf("%f",&s->f2);
printf("请输入第三门成绩:");
scanf("%f",&s->f3);
}
void main()
{
struct student stu[50];
int i=0;
char c='y';
do
{
in(&stu[i]);
i++;
if(i==50)
break;
c=getchar();
}while(c='y');
}
2007-04-03 22:57
JSJIMMYJS
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-3
得分:0 

上面那个发错了 我写的是下面这个 大家帮忙看一下

2007-04-03 23:07
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
得分:0 
这样?
#include<stdio.h>
struct student
{
int num;
char name[15];
float f1;
float f2;
float f3;
float avg;
};
void in(struct student *s)
{
printf("请输入学号:");
scanf("%d",&s->num);
printf("请输入姓名:");
fflush(stdin);
scanf("%s",s->name);
printf("请输入第一门成绩:");
scanf("%f",&s->f1);
printf("请输入第二门成绩:");
scanf("%f",&s->f2);
printf("请输入第三门成绩:");
scanf("%f",&s->f3);
}
void main()
{
struct student stu[50];
int i=0;
char c='y';
do
{
in(&stu[i]);
i++;
if(i==50)
break;
fflush(stdin);
c=getchar();
}while(c=='y');

羊肉串 葡萄干 哈密瓜!!
2007-04-03 23:12
JSJIMMYJS
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-3
得分:0 

对 就是这个 总是到输入第一门成绩程序就崩溃了

2007-04-03 23:13
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
得分:0 

void in(struct student *s)
{
float a=0.1;

printf("请输入学号:");
scanf("%d",&s->num);
printf("请输入姓名:");
fflush(stdin);
scanf("%s",s->name);
getchar();
printf("请输入第一门成绩:");
scanf("%f",&s->f1);
printf("请输入第二门成绩:");
scanf("%f",&s->f2);
printf("请输入第三门成绩:");
scanf("%f",&s->f3);
}

void in(struct student *s)换成我的这个试试

2007-04-03 23:21
JSJIMMYJS
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-3
得分:0 

哦!~~可以了哦
但是为什么加一个不相干的float a=0.1;后就可以了呢?

2007-04-03 23:27
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
得分:0 

我调试时发现错误代码为:C 运行时错误 R6002,以下是在MSDN中找到的答案:

未加载浮点支持
未链接必需的浮点库。

可能的原因

  • 该程序通过选项(如 /FPi87,该选项要求有协处理器)被编译或链接,但该程序运行在一台未安装协处理器的计算机上。
  • printfscanf 函数的格式字符串包含浮点格式规范,而该程序不包含任何浮点值或变量。
  • 编译器仅当必要时才通过加载浮点支持以最小化程序大小。编译器无法检测到格式字符串中的浮点格式规范,因此编译器未加载必要的浮点例程。
  • 使用浮点参数以符合浮点格式规范,或在程序的其他地方执行浮点赋值。该操作将导致加载浮点支持。
  • 在由混合语言编写的程序中,当程序进行链接时在 FORTRAN 库之前指定了 C 库。重新链接并最后指定 C 库。
2007-04-03 23:34
JSJIMMYJS
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-3
得分:0 

辛苦了!~~非常感谢!~~~~~~谢谢谢谢

2007-04-03 23:37
天使猪头
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-11
得分:0 

TMD


努力没有错?
2007-04-11 10:22



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




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

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