| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2328 人关注过本帖
标题:浮点数为什么输入不进去?
只看楼主 加入收藏
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 

/*加上蓝色代码你就不疯了*/
#include<stdio.h>
#include<string.h>
#define N 5
struct student//定义一个包含5个学员的结构
{
int num;//定义学号
char name[50];//定义姓名
float yw;//定义语文成绩
float sx;//定义数学成绩
float yy;//定义英语成绩
float pjcj;//定义平均成绩
};

void main()
{
struct student students[N];//定义结构变量并初始化
int i=0,j=0;

float x_y_z;
if(i){
scanf("%f",&x_y_z);
printf("%f",x_y_z);
}


printf("请输入学员信息:\n");
printf("\n学号:");
scanf("%d",&students[i].num);
printf("\n姓名:");
scanf("%s",&students[i].name);
printf("\n请输入三名科目的成绩:\n");
printf("语文:\n");
scanf("%5.2f",&students[i].yw);
printf("数学:\n");
scanf("%5.2f",&students[i].sx);
printf("英语:\n");
scanf("%5.2f",&students[i].yy);
}


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-17 11:28
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
实际上,VC++6.0与C兼容部分做得很滥。

#include<stdio.h>
main()
{
float x;
scanf("%f",&x);
}
都运行不下去!!!
非得改成:
#include<stdio.h>
main()
{
float x;
scanf("%f",&x);
printf("%f",x);
}
才能摆平。

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-17 11:32
lovemeforme
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-5-25
收藏
得分:0 

首先谢谢你!
再请问为什么那两个一样的代码会一个能运行,一个不能运行?还有你写的那个蓝色的代码是什么意思,起什么作用,请指教!谢谢

2006-06-17 11:50
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
我试验的结果是:在VC环境下,你的代码和“复制”来的都不能运行。
所以才发刚刚那个帖子。
蓝色代码是为了“骗”编译器,让它连接阶段与某个浮点处理模块挂上钩。

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-17 12:05
lovemeforme
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-5-25
收藏
得分:0 

为什么会这样呢?我用复制来的代码在VC++6.0环境下竟然能运行正常,但自己写的代码就不能?你试试复制9楼的代码去运行,然后把他修改的地方再改回去,我真的现在越来越晕了!!!

2006-06-17 12:10
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 

/*下列代码在我的VC++6.0环境下不管扩展名叫c还是cpp都
不能正常运行,卡壳发生在第一个成绩(语文)输入之后*/
#include<stdio.h>
#include<string.h>
#define N 5
struct student//定义一个包含5个学员的结构
{
int num;//定义学号
char name[50];//定义姓名
float yw;//定义语文成绩
float sx;//定义数学成绩
float yy;//定义英语成绩
float pjcj;//定义平均成绩
};
int main()
{
struct student students[N]; //定义结构变量并初始化
int i=0;
float a,*b;

b=&a; /*TC加这个,还有别的方法看3楼那个地址*/
printf("请输入学员信息:\n");
printf("\n学号:");
scanf("%d",&students[i].num);
printf("\n姓名:");
scanf("%s",students[i].name); /* 去掉& */
printf("\n请输入三名科目的成绩:\n");
printf("语文:\n");
scanf("%f",&students[i].yw);
printf("数学:\n");
scanf("%f",&students[i].sx);
printf("英语:\n");
scanf("%f",&students[i].yy); /*TC的话后面加个getch();*/

return 0;
}


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-17 12:20
lovemeforme
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-5-25
收藏
得分:0 
我刚刚又试了复制9楼的运行也不行,但开始能够运行的现在也还可以运行,如果再复制一遍去C++里运行也出错,这到底是怎么回事啊?
2006-06-17 12:27
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
重要补充:整个操作一定要规范。
如果利用某个现成的“工作区”(左窗口)
仅仅抹掉它(右窗口)的代码,换上16楼的
程序,则能够正常运行起来。实际上想必
沾了旧“工作区”的光

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-17 12:28
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
我要是讲不出充分的理由,怎么敢骂VC++与C兼容这块做得“滥”呢?

#include<stdio.h>
main()
{
float x;
scanf("%f",&x);
}
都运行不下去!!!
非得改成:
#include<stdio.h>
main()
{
float x;
scanf("%f",&x);
printf("%f",x);
}
才能摆平。其实该bug早在MSC 6.0那里就有了。另外到了VC++ 6.0
的Win32 Console模式还死抱住目录名、文件(主)名长度不得大于8的
DOS老传统不放。这样写出来的文件的目录项与Windows是有出入的。

[此贴子已经被作者于2006-6-19 4:38:34编辑过]


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-17 12:30
lovemeforme
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-5-25
收藏
得分:0 
呵呵,说的好,但我是不是只又按你那样修改,这个程序才行啊?谢谢。
能不能告诉我你QQ,
2006-06-17 12:34
快速回复:浮点数为什么输入不进去?
数据加载中...
 
   



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

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