湖南最新目录电价:刚开始学C 问下:

来源:百度文库 编辑:高考问答 时间:2024/05/08 20:07:06
数学里的连加 1/k (k从1到10) 求和用C怎么编写?

float sum=0;
int k;
for(k=1;k<11;k++)
{
sum=sum+1.0/(float)k;
}

可以写成一个函数,参数就是你需要的K
float sum(k,&a)
{
while(k>=1)
{
a=a+1/k;
k--;
}
return;
}
a的前面加&表示传引用,因为a是形式参数,当a处代入实参时,假如不加&,就不能改变实参的值.
a处就是你想把结果放入的变量.
比如你想把结果放在b中,就可以这样使用:
float b=0;
sum(k,b);

标准99C级数算法代码.

#include<stdio.h>
/***************************************/
int main()
{
int i,k=1;
double t=1.0,sum=0;
for(i=1;i<=10;i++)
{
sum=sum+t;
k++;
t=1.0/k;
}
printf("sum is:%f\n",sum);
return 0;
}
/***************************************/

简化后的高效率:
#include<stdio.h>
/***************************************/
int main()
{
int k;
double sum=0;
for(k=1;k<=10;k++)
{
sum+=1.0/k;
}
printf("sum is:%f\n",sum);
return 0;
}
/***************************************/

float sum=0;
int k;
for(k=1;k<=10;k++)
{
sum=sum+1.0/(float)k;
}
printf("sum=%f\n",sum);

标准99C级数算法代码.

#include<stdio.h>

int main()
{
int i,k=1;
double t=1.0,sum=0;
for(i=1;i<=10;i++)
{
sum=sum+t;
k++;
t=1.0/k;
}
printf("sum is:%f\n",sum);
return 0;
}

简化后的高效率:
#include<stdio.h>

int main()
{
int k;
double sum=0;
for(k=1;k<=10;k++)
{
sum+=1.0/k;
}
printf("sum is:%f\n",sum);
return 0;
}

#include "stdio.h"
main()
{ float sum=0;
int k;
for (k=1;k<11;k++) \\循环10次,并每次使K不断加1
{
sum+=1/(float)k; \\等同于sum=1/(float)k+sum,在这里 要声明K为浮点数,否则会因为sum为float而k为ink,导致结果错.
}
printf("the result is %f\n",sum);
}