递归练习--求1*1+2*2+...+n*n

/*                          
*程序的版权和版本声明部分:                          
*Copyright(c)2013,烟台大学计算机学院学生                          
*All rights reserved.                          
*文件名称:                          
*作者:田成琳                          
*完成日期:2013年 11月24 日                          
*版本号:v1.0                          
*对任务及求解方法的描述部分:                          
*输入描述: n
*问题描述:求1*1+2*2+...+n*n
*程序输出:1*1+2*2+...+n*n的值
*问题分析:                          
*算法设计:                          
*/ 
我的程序:
#include <iostream>
using namespace std;
int f(int);
int main()
{
    int n;
	cout<<"请输入一个数:"<<endl; 
	cin>>n;
	cout<<f(n)<<endl;
	return 0;
}
int f(int n)
{  
	int sum=0;
	if(n==1)
	{
		sum=1;
	}
	else
	{
		sum=n*n+f(n-1);		
	}
	return sum;	
}

运行结果:


心得体会:通过做这个题,会自己写出递归算式了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用循环或递归1+2+3+...+n的和。 循环方法: ```c++ #include <iostream> using namespace std; int main() { int n, sum = ; cout << "请输入n的值:"; cin >> n; for (int i = 1; i <= n; i++) { sum += i; } cout << "1+2+3+...+" << n << "的和为:" << sum << endl; return ; } ``` 递归方法: ```c++ #include <iostream> using namespace std; int sum(int n) { if (n == 1) { return 1; } else { return n + sum(n - 1); } } int main() { int n; cout << "请输入n的值:"; cin >> n; cout << "1+2+3+...+" << n << "的和为:" << sum(n) << endl; return ; } ``` ### 回答2: 对于这个问题,我们可以使用循环语句来实现。具体的实现步骤如下: 1. 首先,我们需要定义一个变量来保存1到n的和。这个变量可以初始化为0,表示初始的和为0。 2. 接下来,我们使用for循环来依次遍历1到n的所有数值。在每次循环,将当前的数值加到之前的和变量。 3. 最后,当循环结束后,输出之前定义的和变量即可。 以下是具体的代码实现: ``` #include <stdio.h> int main() { int n, sum = 0; printf("请输入一个正整数n:"); scanf("%d", &n); for(int i = 1; i <= n; i++) { sum += i; } printf("1到%d的和为%d\n", n, sum); return 0; } ``` 在上面的代码,我们使用了一个整型变量sum来保存和值。通过循环语句来取得每个自然数,加到sum得到最后的和。在打印时,使用了格式化字符串来输出最终结果。 当用户输入n时,程序会计算1到n的所有自然数的和,并输出结果。 ### 回答3: C语言是一门十分强大的编程语言,在计算机编程领域有着广泛的应用。1到n的和也是C语言初学者们经常练习的一项基本技能,本文将以C语言为例,介绍如何编程1到n的和。 首先,我们需要了解一个关键概念,即循环。循环就是计算机反复执行某个操作的过程,分为三种,分别为for、while和do-while,我们可以根据需要选择其之一。在本次和计算,使用for循环来实现。 for循环的语法格式如下: for (初始化表达式; 条件表达式; 更新表达式) { 执行语句; } 其,初始化表达式用于初始化循环控制变量,例如: int i = 1。条件表达式是指每次循环开始前被值的布尔表达式,如果它的值为真,则循环继续;如果为假,则循环结束。更新表达式用于更新循环控制变量,例如: i++。 那么,我们来看一下C语言编程1到n的和: ``` #include<stdio.h> int main() { int i,n,sum=0; //定义循环变量i,上界n,以及和sum printf("请输入上界n:"); scanf("%d",&n); //输入上界n的值 for(i=1;i<=n;i++) //循环控制 { sum=sum+i; //累加和 } printf("1~%d的和为%d\n",n,sum); //输出结果 return 0; //结束程序 } ``` 以上代码,我们首先定义了三个变量,i、n和sum,其sum用于累加和,实现最终和结果的存储和输出。通过scanf语句来获取用户输入的上界n的值,再利用for循环来计算1到n的和,最后使用printf函数将结果输出。 在循环,变量i从1开始逐一加1,当i的值大于n时,循环结束。每次循环将i的值累加到sum,从而实现和的功能。 以上就是C语言编程1到n的和的全部内容。有了这个基础,我们可以进一步学习C语言编程的更多技术,为将来的编程工作打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值