当前位置: 代码迷 >> C语言 >> 一个小问题拜托大家!谢谢!!
  详细解决方案

一个小问题拜托大家!谢谢!!

热度:109   发布时间:2004-11-23 22:24:00.0
一个小问题拜托大家!谢谢!!
求2个数之间所有奇数的和
main()
{
int a,b,i,s,sum;
scanf("%d %d",&a,&b);
if(a>b)
s=a;a=b;b=s;
if((a+1)%2==0)
a+=1;
for(i=a+1;i<b;i+=2)
sum=i;
sum=sum+i;
printf("%d",sum);
getch();
}
请问哪里错了 谢谢


----------------解决方案--------------------------------------------------------
sum=i;
去掉这句

----------------解决方案--------------------------------------------------------

去掉后运行结果也不对啊


----------------解决方案--------------------------------------------------------
要注意细节啊!

#include<stdio.h> void main() { int a,b,i,s,sum=0; //这里sum要加=0 scanf("%d %d",&a,&b); if(a>b) {s=a;a=b;b=s;} //这里要加“{}”大括号

if((a+1)%2==0) a++; for(i=a+1;i<b;i+=2) sum=sum+i; //始终要去掉那句

printf("%d",sum); }

[此贴子已经被作者于2004-11-23 23:58:09编辑过]


----------------解决方案--------------------------------------------------------

楼上的讲的不错啊

for(i=a

就行了不用加1

[此贴子已经被作者于2004-11-24 11:02:49编辑过]


----------------解决方案--------------------------------------------------------

#include <stdio.h>

void main() {int a,b,i,s,sum=0; printf("the first one is:\n"); scanf("%d",&a); printf("the 2nd is:\n"); scanf("%d",&b); if(a>b) {s=a;a=b;b=s;} if((a+1)%2==0) {for(i=a+2;i<b;i+=2) sum=sum+i;} if((a)%2==0) {for(i=a+1;i<b;i+=2) sum=sum+i; } printf("sum=%d",sum); }

其实就是2种情况:判断小数是偶数还是奇数就可以了。


----------------解决方案--------------------------------------------------------
  相关解决方案