求和从1加到n的C语言程序

bjhyn723 2008-12-11 03:07:45
求和从1加到n的C语言程序 谢了
...全文
4277 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxlzll 2011-03-28
  • 打赏
  • 举报
回复
如果N比较大
sum不应该是int,应选择long或更多位的
  • 打赏
  • 举报
回复
0——00——00——00——00——00——00——00——0
SpeForce 2008-12-11
  • 打赏
  • 举报
回复
答案如下:
int n;
int i=0;
int sum=0;
for(i;i<n;i++)
{
sum+=i;
}
return sum;


while(i<n)
{
sum+=i;
i++;
}
return sum;
gui0605 2008-12-11
  • 打赏
  • 举报
回复
累加的效率是要比递归高的,特别是在数据量大的情况下更明显
happypeter2008 2008-12-11
  • 打赏
  • 举报
回复
这也太全面了吧
满衣兄 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 fxcjy 的回复:]
问一下,像这样的问题,递归执行速度快还是累加快?
[/Quote]
这个要计算时间复杂度,根据时间复杂度比较的。随便找本数据结构的书上都有的。
kingcsx666 2008-12-11
  • 打赏
  • 举报
回复
读书的时候,这种就做入门题吧
fxcjy 2008-12-11
  • 打赏
  • 举报
回复
问一下,像这样的问题,递归执行速度快还是累加快?
fxcjy 2008-12-11
  • 打赏
  • 举报
回复
真有意思,一个简单问题引出这么多人回答,哈哈
不同的答案适合不同阶段的人使用
满衣兄 2008-12-11
  • 打赏
  • 举报
回复
程序员考试很喜欢出这种指针+递归的题目。
满衣兄 2008-12-11
  • 打赏
  • 举报
回复
指针+递归:

#include <stdio.h>
void Add(int *n,int *ret)
{
if (*n<1)
{
return;
}
else
{
*ret+=*n;
*n=*n-1;
Add(n,ret);
}
}
void main()
{
int n;
int ret=0;
printf("请输入一个整数:\n");
scanf("%d",&n);
Add(&n,&ret);
printf("运算结果:%d\n",ret);
}
comszsoft 2008-12-11
  • 打赏
  • 举报
回复
现在的学生啊
panw520 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yfqvip 的回复:]
单纯的累加没有什么意思的,估计你们老师是考你们递归算法:
C/C++ code#include<stdio.h>intAdd(intn)
{if(n<=1)
{returnn;
}else{
n=n*Add(n-1);
}returnn;
}voidmain()
{intn;
printf("请输入一个整数:\n");
scanf("%d",&n);
n=Add(n);
printf("运算结果:%d\n",n);
}
注意,这里没有有判断非整数。
[/Quote]
呵呵,楼上太强了
RexZheng 2008-12-11
  • 打赏
  • 举报
回复


-_-!!




大家的想像能力都很强大
满衣兄 2008-12-11
  • 打赏
  • 举报
回复
勘误:
n=n*Add(n-1);
修改为
n=n+Add(n-1);
满衣兄 2008-12-11
  • 打赏
  • 举报
回复
单纯的累加没有什么意思的,估计你们老师是考你们递归算法:

#include <stdio.h>
int Add(int n)
{
if (n<=1)
{
return n;
}
else
{
n=n*Add(n-1);
}
return n;
}
void main()
{
int n;
printf("请输入一个整数:\n");
scanf("%d",&n);
n = Add(n);
printf("运算结果:%d\n",n);
}

注意,这里没有有判断非整数。
「已注销」 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 CODE163 的回复:]
#include "stdio.h"
void main()
{
int n;
printf("请输入一个整数:\n");
scanf("%d",&n);
printf("运算结果:%d",(n+1)*n/2);

}
我想你们老师是看算法···
[/Quote]

--------------------
llsen 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liu2008hz 的回复:]
C/C++ code
int n=100;
int sum=0;
for(int i=1;i<=100;i++)
{
sum=sum+i;
return sum;
}
[/Quote]

int sum(int n)
{
int result = 0;

if(n == 1)
{
result = 1;
}
else if(n > 1)
{
result = sum(n-1) + n;
}
}

void main()
{
int result = sum(n);
}
CODE163 2008-12-11
  • 打赏
  • 举报
回复
#include "stdio.h"
void main()
{
int n;
printf("请输入一个整数:\n");
scanf("%d",&n);
printf("运算结果:%d",(n+1)*n/2);

}
我想你们老师是看算法···
Hello World, 2008-12-11
  • 打赏
  • 举报
回复

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

</div>
</form>
</body>
</html>


public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
var x = Convert.ToInt16(TextBox1.Text);
var y = 0;
for (var i = 1; i <= x; i++)
{
y = y + i;
}
Response.Write(y);
}
}
加载更多回复(7)

62,017

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧