ylxd41 2016-06-12 08:38 采纳率: 0%
浏览 1368
已采纳

c小白想用循环算两数字间的乘积,例如 输入2 6 变成2*3*4*5*6请问错误在哪?谢谢

#include
int main(void)
{
int s,i,j;
int num[100];
int sum;
while(scanf("%d%d",&i,&j)==2)
{
for(s=0;s<(j-i+1);s++)
{
num[s]=i;
i++;
}
for(s=0,sum=1;s<(j-i+1-1);s++)
{
sum*=sum*num[s];
printf("%d*",num[s]);
}
if(s=(j-i+1-1))
printf("%d=%d",num[s],sum);
return 0;
}
}

  • 写回答

4条回答 默认 最新

  • 尚书左仆射 2016-06-12 10:36
    关注

    for(s=0;s<(j-i+1);s++)
    {
    num[s]=i;
    i++;//=== >你在这里改变了i的值
    }
    for(s=0,sum=1;s<(j-i+1-1);s++)//这里的i值不是你想要的,已经在上面改变了
    {
    sum*=sum*num[s];//应该是sum = num[s];
    printf("%d
    ",num[s]);
    }
    if(s=(j-i+1-1))//同上,i值有问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?