这个题是求接受的2个数中奇数和,但是我做了,结果总是输出0,请大家帮忙看看,那里错了!!
#include <stdio.h> void main() { int a,b,c,sum; sum=0; printf("请输入2个数:"); scanf("%d%d",&a,&b); printf("%d到%d中奇数和是:",a,b); if(a>b) { c=a; a=b; b=c; while(a<=b) {if(a%2!=0) sum=sum+a; a++; } } printf("%d\n",sum); }
----------------解决方案--------------------------------------------------------
if(a>b) 的括号错了,仔细看看
----------------解决方案--------------------------------------------------------
好象不是括号错,我改了,还是老毛病,不管任意输入2个数后,输出结果都是0
----------------解决方案--------------------------------------------------------
那当然了,你比如输入2,8然后
a = 2;b= 8;
然后经过第一条判断语句if(a>b) 显然不符合,所以不会进去,最后执行到的只可能是printf("%d\n",sum);
所以当然是0了
----------------解决方案--------------------------------------------------------
哦,对了,谢谢!这样写就应该对了!!
#include <stdio.h> void main() { int a,b,c,sum; sum=0; printf("请输入2个数:"); scanf("%d%d",&a,&b); printf("%d到%d中奇数和是:",a,b); if(a>b) { c=a; a=b; b=c; } while(a<=b) {if(a%2!=0) sum=sum+a; a++; } printf("%d\n",sum); }
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
呵呵,看几年前的“木马世界”朋友写的代码,真有意思。不过不知道他现在是否还在论坛游荡?或者早已远离代码?
----------------解决方案--------------------------------------------------------
这个格式 排版比我还乱啊
----------------解决方案--------------------------------------------------------