注册 登录
编程论坛 C++教室

[求助]这咋没用捏?

shuai007 发布于 2007-10-27 17:43, 651 次点击

main()
{
int a;
float v;
scanf("%%d",a);
v=a*a*a;
print("V=%d\n",v);
}
咋运行结果是0呢?

13 回复
#2
Janlex2007-10-27 17:44
scanf("%d",a);
#3
shuai0072007-10-27 18:16

还是不行啊

#4
succubus2007-10-27 18:19
以下是引用shuai007在2007-10-27 18:16:08的发言:

还是不行啊

再把printf("V=%d\n",v);改成printf("V=%f\n",v);

#5
lw20072007-10-27 18:36
请问你的程序的目的是什么
那我们才能更清晰的和你一块交流,你说是不是,
特别是我们都还是初学者
#6
shuai0072007-10-27 18:48
  我的程序的目的是让compter能够更加贴近人们的生活,这个程序就是给我们同学做的(别骂我,现在的老师太坑人了!)。
#7
shuai0072007-10-27 18:53
[QUOTE]

再把printf("V=%d\n",v);改成printf("V=%f\n",v);

[/QUOTE]
不行啊,结果一直都是-2856.000000。
#8
succubus2007-10-27 18:57
以下是引用shuai007在2007-10-27 18:53:26的发言:

再把printf("V=%d\n",v);改成printf("V=%f\n",v);


不行啊,结果一直都是-2856.000000。

这个改了没?
scanf("%d",&a);
都改了就成了。。。

#9
shuai0072007-10-27 19:04

谢谢

#10
neufcl2007-10-27 20:14
回复:(shuai007)[求助]这咋没用捏?
main()
{
int a;
float v;
scanf("%d",&a);
v=a*a*a;
printf("V=%f\n",v);
}

注意printf("V=%d\n",v);的强制类型转换:从高精度到低精度,这可能会出现有用数据的丢失。改成%f就行了。
建议:什么类型的变量就会对应的输出控制符。
#11
shuai0072007-10-27 20:15

不在编辑器运行怎么显示不出结果?

#12
neufcl2007-10-27 20:45
回复:(shuai007)不在编辑器运行怎么显示不出结果?
#include<iostream>
using namespace std;
main()
{
int a;
float v;
scanf("%d",&a);
v=a*a*a;
printf("V=%f\n",v);
getchar();
}
不知道你说的是不是这个意思
#13
shuai0072007-10-27 20:54
十分感谢!!!!!!!!!!
#14
六道2007-10-27 21:34
以下是引用shuai007在2007-10-27 17:43:25的发言:

main()
{
int a;
float v;
scanf("%%d",a);
v=a*a*a;
print("V=%d\n",v);
}
咋运行结果是0呢?

scanf("%d",&a);

printf("V=%d\n",v);
最好把V定义为double.

[此贴子已经被作者于2007-10-27 21:35:00编辑过]

1