找一C语言高手,帮忙编译程序:求和1+2-3+4-5+```+n,谢谢!
答案:6 悬赏:80 手机版
解决时间 2021-04-22 23:26
- 提问者网友:欺烟
- 2021-04-22 07:22
求和1+2-3+4-5+```+n;最好用两种方法!
最佳答案
- 五星知识达人网友:往事隔山水
- 2021-04-22 07:33
通项为n * (-1)^(n+1)
所以你就用一个for循环,从1 到 n累加就好了。
int sum = 0;
for(int i = 1; i <= n; i++)
{
sum += i * (-1)^(n+1); //这里是伪代码,你可以根据你使用的语言实现n+1次方函数
}
全部回答
- 1楼网友:一秋
- 2021-04-22 11:19
1+2-3+4-5+6-7+8-……+n
n是奇数时:
=1+(2-3)+(4-5)+(6-7)+……+(n-1-n)=1+((n-1)/2)*(-1)
n是偶数时:令2k= n
=1+(2-3)+(4-5)+(6-7)+……+(n-2-n+1)+n =1+n+(-1)*(n/2-1)
程序为:
#include <stdio.h>
main()
{ int i,n;
int all=1;
printf("Please enter N:");
scanf("%d",&n);
if(n%2==1)
all=all+((n-1)/2)*(-1);
else
all=all+n+(-1)*(n/2-1);
printf("1+2-3=4-5...n=%d,N=%d",all,n);
}
- 2楼网友:白昼之月
- 2021-04-22 10:48
*********您好!Yadie.23很高兴能为你解答。********* +++++++++++++++++++++++++++++++++++++++++++++++++
建议你写出来,让我们帮你看看错误,修改修改。。
+++++++++++++++++++++++++++++++++++++++++++++++++ You can have a try,maybe my answer useful to you. 如满意,Yadie.23十分感谢您的采纳。*^-^*
- 3楼网友:蓝房子
- 2021-04-22 10:07
又一个偷懒的人。。。
- 4楼网友:十鸦
- 2021-04-22 09:49
int sum=0,k=n;
1: while(k) sum+=k--;
2: for(int i=1;i<=n;i++) sum+=i;
- 5楼网友:时间的尘埃
- 2021-04-22 08:17
额..
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯