重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdlib.h
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了门源免费建站欢迎大家使用!
#include math.h
int main()
{
double x,num,sum=0;
int i=1,j,flag=1;
double jie;
scanf("%lf",x);
while(1)
{
j=i;
jie=1.0;
while(j)
{//计算阶乘
jie*=j--;
}
num=pow(x,i++)/jie;//pow为计算x的i次方
if(fabs(num)0.00001)//fabs计算绝对值
{
break;
}
if(flag)//是加是减用flag标志
{
sum+=num;
flag=0;
}
else
{
sum-=num;
flag=1;
}
//printf("sum=%lf,num=%lf,jie=%ld,i=%d\n",sum,num,jie,i);
}
printf("sum=%.2f",sum);
getch();
return 0;
}
讲下思路。
scanf获取n和m。
sqrt(n)开方函数获得方根,利用%(1000*方根)/1000获得一个带三位小数的方根。
进行m重循环求和。对和值用%(100*方根)/100获得2位小数。
循环完毕,printf后加%d换行。
先获取数组长度,然后用for循环,从数组中获取值进行累加求和。
#include
#include
int main()
{
int n;
int val;
int * a;
int sun = 0, i;
printf("请输入数组的长度:");
scanf("%d", n);
printf("\n");
a = (int *)malloc(n * sizeof(int));//为数组a动态分配内存
for(i = 0; i n; i++)
{
printf("请输入数组的第%d个元素的值:", i+1);
scanf("%d", val);
printf("\n");
a[i] = val;
}
for (i = 0; i n; i++)
{
sun+=a[i];//sun+=a[i]相当于sun=sun+a[i];
}
printf("sun = %d\n",sun);
free(a);//释放a动态分配的内存
return 0;
}
扩展资料:
一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。
如果要用户输入的是一个数组,一般是用一个循环,但是在输入前也需要固定数组的大小。
compact跟变长数组没有太大的关系,也应该用不到变长数组。因为一般的传数组到函数中就是传数组的地址和元素的个数的,那只是一个提示,不是要求。
参考资料来源:百度百科-数组