这个c程序为什么编译错误啊?
#include "stdio.h"
main()
{
float a=2;
float n=3;
float i=1;
float j;
float s=0;
while (i<=n) {
j=i;
while(j!=0){
s=s+a*(1e(j-1));
j--;
}
}
}
问题是求2+22+222...22222(n个)
现在是写死,只求前3项.
怎么编译不过去?
问题点数:20、回复次数:6Top
1 楼cunsh(村少)回复于 2006-01-02 15:47:34 得分 2
flaot可以 -- 吗?Top
2 楼lovefreex(笨わ孩)回复于 2006-01-02 15:59:38 得分 5
为什么要用float定义呢,换成int
#include "stdio.h"
main()
{
int a=2;
int n=3;
int i=1;
int j;
int s=0;
int k ;
while (i<=n)
{
j=i;
k = 0;
while(j>0){
k=k * 10 + a
j--;
}
++i;//这边i需要改变
s = s + k;
}
}
随手写的,没编译.Top
3 楼whatsouta(某疯子)回复于 2006-01-02 17:11:50 得分 9
s=s+a*(1e(j-1));
这是什么意思??构造 N 个2吗??
1e(j-1)??你是想用科学计数表达式?
如果是的话,这里不能这样用的。要是常数才行,不然编译器会认为这是一个函数调用。Top
4 楼Aureal1(梦游)回复于 2006-01-02 19:34:29 得分 2
float的精度问题Top
5 楼acboboly(枫)回复于 2006-01-02 21:33:40 得分 0
哦,好像科学表达式不能跟变量?
例如1e2就是10的2次方,但是1ei好像就不行了,e后面只能跟常数吧!
那一个数的n次方怎么表示啊?例如x的n次方怎么表示啊?
我查了下函数,只看见了sqrt函数,是平方根函数的!有没有求一个数的n次方的函数啊?
谢谢!Top
6 楼zhangcm_kingdom()回复于 2006-01-02 22:58:37 得分 2
j--不行Top




