注册 登录
编程论坛 C++教室

新手题。

似水流年去 发布于 2012-11-08 12:43, 295 次点击
题是,输入一个正整数,求阶乘。询问用户是否愿意继续。
#include<stdio.h>
void main()
{
    char ans;
    int number;
    int product=1;
    ans='y';
    while(ans=='y')
    {
    printf("\n请输入一个正整数:");
    scanf("%d",&number);
        if(number>0)
        {
            while(number>0)
            {
                product=product*number;
                number=number-1;
            }
            printf("\n积=%d\n",product);
        }
        else
    printf("\n%d无效。\n",number);
    printf("\n您是否要继续(y/n):");
    fflush(stdin);
    scanf("%c",&ans);
    }
}


编译出来,输入4时,积为24.输入y继续时,再输入5,显示就是2880.这是哪里错了?
2 回复
#2
rjsp2012-11-08 13:11
product 没有重置为 1
#3
似水流年去2012-11-08 13:23
回复 2楼 rjsp
感谢。。。。
1