新手求助简单问题,希望各位热心帮助
问题1:C语言的阶乘,公式是n!=1*2*…*(n-1)*n不太理解这个公式
问题2:根据数字显示字符,下面是程序,为什么会在第一个while里面会有一个anw= ' '呀,这个题的原理还是不明白。
#include "stdio.h "
void main()
{
char anw;
int no,cnt;
anw= 'y ';
while(anw== 'y ')
{
anw= ' ';
printf( "请输入一个数 ");
scanf( "%d ",&no);
cnt=0;
while(cnt <no)
{
printf( "\n%d : %c ",cnt,cnt);
printf( "\n ");
cnt++;
}
printf( "您是否要继续(y/n) ");
fflush(stdin);
scanf( "%c ",&anw);
}
}
[解决办法]
anw= ' ';可以注释掉,没有意义!
[解决办法]
阶乘:比如
2!=1*2
3!=1*2*3
4! = 1*2*3*4
......
n!=1*2*3*4*...*n
[解决办法]
阶乘的公式是数学上定义的,不是C里定义的。
anw= ' ';的作用就是把anw的值赋为空,以防之后万一要遇到这个变量时不会是‘y’,在这个程序里有没有这句没关系。