|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
今天考试时遇到的题目,想了很久实在想不出来求教下各位大佬
填写程序,实现1-2+3-4-5+...之和,
include"stdio.h"
main()
{
int a=1,sum=0,flag=1,num;
printf("请输入num:");
scanf("%d",&num);
if (num>=1)
{
do
{
sum += ;
a++;
flag=;
}while(a<=);
if (num%2)
printf("1-2+3+...+%d=%d",num,sum);
else
printf("1-2+3+...%d=%d",num,sum);
}
else
printf("无实际意义!");
}输入16的结果是-8,输入15的结果是8,要怎么样实现加奇数减偶数的效果呢?
本帖最后由 jhq999 于 2022-12-29 19:17 编辑
1-2+3-4-5+...之和
还是
1-2+3-4+5-6...之和
- #include <stdio.h>
- #include <stdlib.h>
- int main(void)
- {
- int a=1,sum=0,flag=1,num;
- printf("请输入num:");
- scanf("%d",&num);
- if (num>=1)
- {
- do
- {
- sum +=a*flag ;
- a++;
- flag=-flag;
- }
- while(a<=num);
- if (num%2)
- printf("1-2+3+...+%d=%d",num,sum);
- else
- printf("1-2+3+...%d=%d",num,sum);
- }
- else
- printf("无实际意义!");
- return 0;
- }
复制代码- #include <stdio.h>
- #include <stdlib.h>
- int main(void)
- {
- int num;
- printf("请输入num:");
- scanf("%d",&num);
- if (num>=1)
- {
- if (num%2)
- printf("1-2+3+...+%d=%d",num,(num-1)/2*-1+num);//(1-2)+(3-4)+...+(num-2-(num-1))+num=(num-1)/2*-1+num
- else
- printf("1-2+3+...%d=%d",num,num/2*-1);//(1-2)+(3-4)+...+(num-1-num)=num/2*-1
- }
- else
- printf("无实际意义!");
- return 0;
- }
复制代码
|
|