编写C语言程序,计算下列公式中S的值(n是运行程序时输入的一个正整数)

S=1+(1+2)+(1+2+3)+......+(1+2+3+.......+n)
S=1*2-2*3+3*4-4*5+......+(-1)^(n-1)*n*(n+1)

第1个回答  2013-04-08
#include <stdio.h>
int fun1(int);
int fun2(int);
void main(){
int n;
printf("please input an integer:");
scanf("%d",&n);
printf("1+(1+2)+(1+2+3)+......+(1+2+3+.......+n)=%d\n",fun1(n));
printf("1*2-2*3+3*4-4*5+......+(-1)^(n-1)*n*(n+1)=%d\n",fun2(n));
}
int fun1(int n){
int i,s=0,S=0;
for(i=1;i<=n;i++){
s=s+i;
S=S+s;
}
return S;
}
int fun2(int n){
int i,S=0,p=1;
for(i=1;i<=n;i++){
S=S+p*i*(i+1);
p=-p;
}
return S;
}
第2个回答  2013-04-08

1. n 不能太大,会溢出的

#include <stdio.h>
int foo(int n)
{
int i, sum = 0;
for (i = 1; i <= n; i++)
sum += i * (n + 1 - i);
return sum;
}
int main(void)
{
int n;
scanf("%d", &n);
printf("%d\n", foo(n));
return 0;
}

第3个回答  2013-04-08
//代码如下:(望赏)
#include <stdio.h>
#include <math.h>
int fun1(int n)
{
int i , j ;
int ans = 0;
for(i = 1; i <= n ;i++)
{
for(j = 1; j <= i; j++)
ans += j;
}
return ans;
}

int fun2(int n)
{
int i;
int ans = 0;
for(i = 1; i <= n; i++)
{
ans += pow((double)-1,i-1) * i *(i + 1);
}
return ans;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d \n",fun1(n));
printf("%d \n",fun2(n));
}本回答被提问者和网友采纳
第4个回答  2013-04-08
#include<stdio.h>
#include<stdlib.h>
#define N 100
int an(int n)
{
return n*(n+1)/2;
}
int bn(n){
if(n%2==0)
return -n*(n+1);
else
return n*(n+1);
}
int main(){
int i,sa=0,sb=0;
for(i=0;i<N;i++)
{
sa += an(i);
sb += bn(i);
}
printf("S1=%d\nS2=%d\n",sa,sb);

return 0;
}

第5个回答  2013-04-08
long f1(int n){
int i,j;
long m,s;
for(i=1;i<=n;i++){
for(j=1,j<=i;j++)
m+=j;
s+=m;
}
return s;
}
long f2(int n){
int i,j,k;
long m;
k = 1;
for(i = 1;i<=n;i++){
j = i+1;
m += k*i*j;
k = -k;
}
return m;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网