C语言菜鸟问题II

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:10:25
数列的定义如下:
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。

Input
输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。

Output
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
#include<stdio.h>
#include<math.h>
void main()
{
float a[100];
int m,n;
double s;
int i;
while(scanf("%d %d",&m,&n)!=EOF)
{ s=0.0;
a[0]=m;
for(i=0;i<n-1;i++)
a[i+1]=sqrt(a[i]);
for(i=0;i<n;i++)
s=s+a[i];
printf("%.2f\n",s);
}

}
哪里错了啊,晕死了啊
过不了啊,在HDU上

float a[100]; 改成double a[100];
int m 改成 double m

没必要改,能过,兄弟你程序写得丑
float那里会自动转换
scanf那里你改个好看的循环输入

用你程序试了下编译器,谢了

经过测试,结果是正确的。不过每输入一对数组,立刻出现该组结果。