#include
usingnamespacestd;
intmain()
{
intn;
staticintsum=1;
cout<<"请输入N:"< cin>>n; for(inti=1;i<=n;i++) { for(intj=1;j<=i;j++) { sum=sum+j; } } cout<<"结果2为:"< system("pause"); return0; 扩展资料 C语言计算1-1/3+1/5-……的前n项之和 #include intmain(void){ inti,n; doublef,s; intflag=1,m=1; printf("请输入分母的终值:"); scanf("%d",&n); for(i=1,s=0;i<=n;i++) { f=flag*1.0/m; s+=f; flag=-flag; m=m+2; } printf("1+1/3-1/5+...+1/n=%.2f\n",s); system("pause"); return0; }
思路:先定义一个函数fun(n)用来计算1到n的和,接着for循环计算1到n的fun(n)和就是s的值。
参考代码:
#include
int fun(int n){
int sum=0,i;
for(i=1;i<=n;i++)
sum+=i;
return sum;
}
int main()
{
int n,sum=0,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=fun(i);
printf("S=%d\n",sum);
return 0;
}
/*
3
S=10
*/
把n用一个数代替一下,定义里把n去掉,电脑里没有软件,未进行编译,如有问题请留言,如无问题望采纳。
#include
#include
void main
{int s,a,sum1,n;
for(a=0;a
for(sum1=0;sum1
}
s+=a;
}
printf("s=%d",s);
getch();
}
// 有需要问编程 相关问题的可以联系我
#include
int main() {
int n = 0;
int a = 0, sum = 0;
printf("请输入 n = ");
scanf("%d",&n);
for(int i = 1; i <= n; ++i ) {
a += i;
sum += a;
}
printf("s = %d\n", sum);
return 0;
}
运用了两次小递归,s用来求(1+2+3...+n) sum用来求1+(1+2)+(1+2+3)+…+(1+2+3+…+n)
#include
using namespace std;
int s(int n)
{
if(n==1)
return 1;
return s(n-1)+n;
}
int sum(int n)
{
if(n==1)
return 1;
return sum(n-1)+s(n);
}
int main()
{
int n = 0;
cin>>n;
cout<
}