解题思路:
循环判断1到N的每一个数;

若除以2是结果为整数,也就是能被2整除,那么是偶数;

若除以2结果不是整数,则不能被2整除,那么是奇数;

是奇数的话,把它加到和里;

注意事项:
这样做应该,long double 以内的数据应该不会有错,数的范围更广了。
参考代码:

#include<stdio.h>

int main()
{
 long double N,sum=0;
 scanf("%LF",&N);

   for(long double i=1;i<=N;i++)
     {
        if(i/2!=(int)(i/2))
         sum+=i;
     }
   printf("%.0LF",sum);
   return 0;
}

别忘点赞哦-.-

点赞(12)
 

0.0分

7 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 8 条评论

safety胖 2年前 回复TA
#include<stdio.h>
int main()
{
	int n,s=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i+=2)
		s+=i;
	printf("%d\n",s);
	return 0;
}
新城已无旧少年 3年前 回复TA
@Kohler 没有算N
KONO 3年前 回复TA
@Kohler 没有把N算进去
飞越的心 3年前 回复TA
#include<stdio.h>
int main()
{
	int n,sum=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		if(i%2!=0)
		{
			sum+=i;
		}
	}
	printf("%d",sum);
	return 0;
}
三重岁月 3年前 回复TA
@Kohler sum=0???
柯南的滑板 3年前 回复TA
正整数为什么用浮点型?不规范
柯南的滑板 3年前 回复TA
@Kohler i<=N
Kohler 3年前 回复TA
#include <stdio.h>
int main()
{
  int N,sum;
  scanf("%d",&N);
  for(int i=1;i<N;i++)
  {
  	if(i%2!=0)
  	{
  	sum+=i;	
	}
  }
  printf("%d",sum);
  return 0;
}
我这个自己运行没毛病,为什么网站显示错误?