C语言 求1+3+5+7...+n 程序

用scanflongintf,sinti,j,ns=s+f... 用scanf long int f,s int i,j,n s=s+f 展开
 我来答
拥抱每一天哦
2023-03-15 · TA获得超过267个赞
知道小有建树答主
回答量:751
采纳率:79%
帮助的人:71.5万
展开全部
以下是一个使用C语言计算1+3+5+7...+n的示例程序:

```c
#include <stdio.h>

int main() {
int n, i, sum = 0;
printf("请输入一个正整数:");
scanf("%d", &n);

for (i = 1; i <= n; i += 2) {
sum += i;
}

printf("%d", sum);
return 0;
}
```

在上面的代码中,我们首先使用`scanf()`函数输入一个正整数n。接着,我们使用`for`循环来计算1+3+5+7...+n这个序列的和,循环从1开始,每次递增2,直到i小于或等于n为止。在循环中,我们使用一个变量sum来保存这个序列的和,然后每次将i加到sum中。最后,我们输出sum的值,即为1+3+5+7...+n的和。

需要注意的是,在输入数据时需要考虑异常输入的情况,比如输入的不是正整数等,需要对这些异常情况进行适当的处理,避免出现程序错误。另外,在使用循环时需要注意循环条件和循环变量的处理,以免造成死循环等问题。
夜幕里的曙光
2023-03-12 · TA获得超过108个赞
知道小有建树答主
回答量:1079
采纳率:27%
帮助的人:54.9万
展开全部
以下是 C 语言实现求解 1+3+5+7+...+n 的程序:

```c
#include <stdio.h>
#include <stdlib.h>

int main() {
long int n, s = 0;
printf("请输入一个正整数:");
scanf("%ld", &n);

// 使用 for 循环依次累加奇数
for (int i = 1; i <= n; i += 2) {
s += i;
}

printf("1 + 3 + 5 + ... + %ld = %ld\n", n, s);
return 0;
}
```

在上述代码中,我们首先使用 `scanf()` 函数获取用户输入的正整数 `n`。然后,使用一个循环依次累加从 1 开始的所有奇数,得到它们的和 `s`。需要注意的是,由于题目要求从 1 开始计算,因此循环的初始值应为 1,而且每次迭代的步长应为 2,以确保只累加奇数。

最后,我们使用 `printf()` 函数输出求和的结果。在输出时,我们使用了 `%ld` 格式控制符来表示长整型数据,并用空格分隔了不同的输出项。

需要注意的是,在实际应用中,需要对用户输入进行参数检查和错误处理等操作,以确保程序的健壮性和安全性。另外,也可以使用其他方法来优化求和的算法,如数学公式、递归等等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李康819
2013-10-25 · TA获得超过128个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:114万
展开全部
#include<stdio.h>
void main()
{
int i,s,sum;
scanf("%d",&s);
for(i=1,sum=0;i<=s;i++,i++)
sum=sum+i;
printf("%d\n",sum);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓉雪球
2013-10-25 · TA获得超过8998个赞
知道大有可为答主
回答量:2846
采纳率:79%
帮助的人:715万
展开全部
#include<stdio.h>
void main()
{
long int f=0,s=0 ;
long int i,j,n;
scanf("%ld",&n);
for(i=1;i<=n;i=i+2)
{
j=i;
f=0;
f=f+j;
s=s+f;
}
printf("%ld\n",s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式